Posted By: Anonymous
Is this the cleanest way to write a list to a file, since
writelines() doesn’t insert newline characters?
file.writelines(["%sn" % item for item in list])
It seems like there would be a standard way…
You can use a loop:
with open('your_file.txt', 'w') as f: for item in my_list: f.write("%sn" % 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.