On Mon, Jul 12, 2010 at 1:27 PM, Jia Hu <huji...@gmail.com> wrote: > Hi, I just want to delete "\n" at each line. My operating system is ubuntu > 9.1. The code is as follows > > #!/usr/bin/python > import string > fileName=open('Direct_Irr.txt', 'r') # read file > directIrr = fileName.readlines() > fileName.close() > for line in directIrr: > line.rstrip('\n') > print directIrr > > But I found there is still "\n" . Could someone help me why it is not > correct?
.rstrip() returns a *new* string without trailing whitespace (which you are currently then throwing away); it does *not* modify string objects in-place. Python strings objects are entirely immutable and unmodifiable; all operations on them merely produce /new/ strings. Assuming you still want to use .readlines(), you'd do: directIrr = fileName.readlines() fileName.close() directIrr = [line.rstrip('\n') for line in directIrr] print directIrr For how third line works, google "python list comprehensions". Cheers, Chris -- http://blog.rebertia.com -- http://mail.python.org/mailman/listinfo/python-list