写一个列表到文件,但错误:writelines()参数必须是一个字符串序列

Ern*_*ari 0 python python-2.7

我有一个列表,我想将该列表写入文件txt

lines=[3,5,6]

result = open("result.txt", "w")
result.writelines(lines)
result.close()
Run Code Online (Sandbox Code Playgroud)

但是当我跑步时,我收到以下错误:

writelines()参数必须是一个字符串序列

Eug*_*ash 6

错误是不言自明的:您必须传递一系列字符串,而不是数字file.writelines().因此将数字转换为字符串,并可能添加换行符:

lines = [3, 5, 6]
with open("result.txt", "w") as f:
    f.writelines([str(line) + "\n" for line in lines])
Run Code Online (Sandbox Code Playgroud)

  • Max:两者都可以工作,虽然对于少量项目,列表理解通常比生成器更快. (2认同)