为了账号安全,请及时绑定邮箱和手机立即绑定

用Python将列表写入文件

用Python将列表写入文件

繁星coding 2019-06-24 10:05:35
用Python将列表写入文件这是将列表写入文件的最干净的方法吗?writelines()不插入换行符吗?file.writelines(["%s\n" % item  for item in list])似乎有一种标准的方法.。
查看完整描述

3 回答

?
凤凰求蛊

TA贡献1825条经验 获得超4个赞

您可以使用循环:

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

在Python 2中,还可以使用

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

如果您热衷于单个函数调用,请至少去掉方括号[],以便每次打印一个字符串(genexp而不是listcomp)-没有理由占用实现整个字符串列表所需的所有内存。


查看完整回答
反对 回复 2019-06-24
?
蓝山帝景

TA贡献1843条经验 获得超7个赞

你打算怎么处理这个文件?该文件是否存在于人类或其他具有明确互操作性要求的程序中?

如果您只是尝试将一个列表序列化到磁盘,以便稍后由同一个python应用程序使用,那么您应该是酸洗名单上。

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

再读一遍:

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


查看完整回答
反对 回复 2019-06-24
?
开满天机

TA贡献1786条经验 获得超13个赞

还有另一种方式。序列化为json使用简森(包括作为杰森在python 2.6中):

>>> import simplejson>>> f = open('output.txt', 'w')>>> simplejson.dump([1,2,3,4], f)>>> f.close()

如果检查output.txt:

[1, 2, 3, 4]

这是有用的,因为它的语法是pythonic的,它是人类可读的,它可以被其他语言的其他程序读取。


查看完整回答
反对 回复 2019-06-24
  • 3 回答
  • 0 关注
  • 1433 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信