使用Python将列表写入文件,使用换行符

2022-09-05 01:17:58

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

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

答案 1

使用循环:

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) - 没有理由占用实现整个字符串列表所需的所有内存。[]


答案 2

您要如何处理该文件?此文件是否存在于人类或其他具有明确互操作性要求的程序?

如果你只是尝试将列表序列化到磁盘以供同一 python 应用以后使用,则应对列表进行腌制

import pickle

with open('outfile', 'wb') as fp:
    pickle.dump(itemlist, fp)

要读回去:

with open ('outfile', 'rb') as fp:
    itemlist = pickle.load(fp)