On 02/03/2012 03:27 PM, Anatoli Hristov wrote:
Hi everyone,

I`m totaly new in python and trying to figure out - how to write a list to
a file with a newline at the end of each object.
I tried alot of combinations :) like:
users = ['toli','didi']
fob=open('c:/Python27/Toli/username','w')
fob.writelines(users) + '%s\N'
fob.close()
  or fob.writelines('\N' % users)
or fob.writelines('%s\N' % users)
but nothing of dose works...

Could you help me find out the right syntaxes?

Thanks

mylist.writelines() is a shorthand for a loop of writes, once per list item. It does not append a newline, since if the list had come from readlines(), it would already have the linefeed on each line.

So you have a few choices. You could add a newline to each list item before issuing the writelines(), or write your own loop. I vote for writing your own loop, since there may be other things you want to change on each line.

1)
  users = [item+"\n" for item in users]        # add a newline to each item

2)
  for line in users:
       fob.write(line + "\n")
  fob.close()

There are other possibilities, such as
    contents = "\n".join(mylist)      #make a single string out of it
fob.write(contents + "\n") #note we had to add one at the very end, #because join just puts the separator between items, not after them.




--

DaveA

--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to