how to delete "\n"

Chris Rebert clp2 at rebertia.com
Mon Jul 12 16:45:27 EDT 2010


On Mon, Jul 12, 2010 at 1:27 PM, Jia Hu <hujia06 at 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



More information about the Python-list mailing list