我如何写一个列表文件?writelines()不插入换行符,所以我需要这样做:
f.writelines([f"{line}\n" for line in lines])
我如何写一个列表文件?writelines()不插入换行符,所以我需要这样做:
f.writelines([f"{line}\n" for line in lines])
当前回答
另一种迭代和添加换行符的方法:
for item in items:
filewriter.write(f"{item}" + "\n")
其他回答
如果在python3上,还可以使用print函数,如下所示。
f = open("myfile.txt","wb")
print(mylist, file=f)
另一种迭代和添加换行符的方法:
for item in items:
filewriter.write(f"{item}" + "\n")
还有另一种方式。使用simplejson序列化为json(在python 2.6中包含为json):
>>> import simplejson
>>> f = open('output.txt', 'w')
>>> simplejson.dump([1,2,3,4], f)
>>> f.close()
如果你检查output.txt:
[1, 2, 3, 4]
这很有用,因为它的语法是python的,它是人类可读的,并且它可以被其他语言的其他程序读取。
我最近发现Path很有用。帮助我绕过不得不打开('file')作为f,然后写入文件。希望这对某些人有用:)。
from pathlib import Path
import json
a = [[1,2,3],[4,5,6]]
# write
Path("file.json").write_text(json.dumps(a))
# read
json.loads(Path("file.json").read_text())
使用numpy。Savetxt也是一个选项:
import numpy as np
np.savetxt('list.txt', list, delimiter="\n", fmt="%s")