将列表写入python中的txt文件

时间:2013-12-02 18:06:29

标签: python python-3.x

列表中包含RANDOM字符串

#example
list = [1,2,3,4]

filename = ('output.txt')
outfile = open(filename, 'w')
outfile.writelines(list)
outfile.close()

我在文件中的结果

1234

所以现在我如何让程序产生我想要的结果:

1
2
3
4

2 个答案:

答案 0 :(得分:6)

myList = [1,2,3,4]

with open('path/to/output', 'w') as outfile:
  outfile.write('\n'.join(str(i) for i in myList))

顺便说一句,您帖子中的列表包含int个,而不是字符串 另外,请不要为变量listdict或任何其他类型命名

答案 1 :(得分:0)

writelines()需要list个字符串并附加行分隔符,但您的代码只给它一个整数列表。为了使它工作,你需要使用这样的东西:

some_list = [1,2,3,4]

filename = 'output.txt'
outfile = open(filename, 'w')
outfile.writelines([str(i)+'\n' for i in some_list])
outfile.close()

在Python中,文件对象是context managers,这意味着它们可以与with语句一起使用,因此您可以使用以下内容更简洁地执行相同的操作,这将自动关闭文件。它还使用generator expression(括在括号中而不是括号中)来进行字符串转换,因为这样做可以避免构建临时列表以传递给函数。

with open(filename, 'w') as outfile:
    outfile.writelines((str(i)+'\n' for i in some_list))