列表中包含RANDOM字符串
#example
list = [1,2,3,4]
filename = ('output.txt')
outfile = open(filename, 'w')
outfile.writelines(list)
outfile.close()
我在文件中的结果
1234
所以现在我如何让程序产生我想要的结果:
1
2
3
4
答案 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
个,而不是字符串
另外,请不要为变量list
或dict
或任何其他类型命名
答案 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))