Humberto wrote: > Greetings. > > This is probably a v. basic question, but my apologies as I'm > relatively new w/ this. > > But I am attempting to use <i>for line</i> to iterate through a text > file, but I am working on a Mac and am getting a single block of text. > I assume this is because of the Mac {CR} usage vs. line feed. > > Is there a programmatic way to use for line to interpret the carriage > return character as a new line? Otherwise, what are the easiest ways > to be able to force a replacement of the {CR} character w/ the line > feed? I've attempted the method using <i>tr</i>, but receive an > illegal byte sequence error when running the tr '\r' '\n' < file1.txt >> file2.txt command on my Mac. > > Any help would be greatly appreciated and thanks!
<psychic_mode> I guess this is how you write your code: f = open('myfile.txt', 'r').read() for line in f: print line # stream of characters... if that's the case, change the code into: f = open('myfile.txt', 'r') for line in f: print line If you .read() the file yourself, you'll get a single string of the whole file content; '\n' (of whatever real type) inside a string is not used as delimiter for a for-loop. </psychic_mode> -- http://mail.python.org/mailman/listinfo/python-list