Wednesday, August 29, 2018

Writing a list to a file with Python



Is this the cleanest way to write a list to a file, since writelines() doesn't insert newline characters?



file.writelines(["%s\n" % item  for item in list])


It seems like there would be a standard way...


Answer




You can use a loop:



with open('your_file.txt', 'w') as f:
for item in my_list:
f.write("%s\n" % item)


In Python 2, you can also use



with open('your_file.txt', 'w') as f:

for item in my_list:
print >> f, item


If you're keen on a single function call, at least remove the square brackets [], so that the strings to be printed get made one at a time (a genexp rather than a listcomp) -- no reason to take up all the memory required to materialize the whole list of strings.


No comments:

Post a Comment

plot explanation - Why did Peaches' mom hang on the tree? - Movies & TV

In the middle of the movie Ice Age: Continental Drift Peaches' mom asked Peaches to go to sleep. Then, she hung on the tree. This parti...