我如何写一个列表文件?writelines()不插入换行符,所以我需要这样做:

f.writelines([f"{line}\n" for line in lines])

当前回答

使用循环:

with open('your_file.txt', 'w') as f:
    for line in lines:
        f.write(f"{line}\n")

对于Python <3.6:

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

对于Python 2,还可以使用:

with open('your_file.txt', 'w') as f:
    for line in lines:
        print >> f, line

如果您热衷于单个函数调用,至少要删除方括号[],以便每次生成一个要打印的字符串(genexp而不是listcomp)——没有理由占用物化整个字符串列表所需的所有内存。

其他回答

另一种迭代和添加换行符的方法:

for item in items:
    filewriter.write(f"{item}" + "\n")

你为什么不试试

file.write(str(list))
file.write('\n'.join(list))
with open ("test.txt","w")as fp:
   for line in list12:
       fp.write(line+"\n")

使用numpy。Savetxt也是一个选项:

import numpy as np

np.savetxt('list.txt', list, delimiter="\n", fmt="%s")