Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #19844 > unrolled thread

Re: Help writelines

Started byDave Angel <d@davea.name>
First post2012-02-03 15:56 -0500
Last post2012-02-03 15:56 -0500
Articles 1 — 1 participant

Back to article view | Back to comp.lang.python

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  Re: Help writelines Dave Angel <d@davea.name> - 2012-02-03 15:56 -0500

#19844 — Re: Help writelines

FromDave Angel <d@davea.name>
Date2012-02-03 15:56 -0500
SubjectRe: Help writelines
Message-ID<mailman.5420.1328302625.27778.python-list@python.org>
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

[toc] | [standalone]


Back to top | Article view | comp.lang.python


csiph-web