从大型列表写入Python中的文本文件

时间:2013-02-07 18:28:33

标签: python

当我尝试从包含648470字符串值的普通列表写入文本文件时,会发生奇怪的事情。

    textFile = open('bins.txt', 'w')

    for item in bigList:
        print item # This prints fine
        textFile.write(item)

    textFile.close()

文本文件在文件大小上快速增长,并且填充了所有类型的符号,而不是预期的符号......即使我只是写了一小段bigList的内容,文本文件也会被破坏。如果我用更小的列表做同样的事情,那就没问题了。 列表的大尺寸是否会导致此问题? print(bigList[:10])的输出是

['167', '14444', '118', '22110', '118', '8134', '82', '8949', '7875', '171']

2 个答案:

答案 0 :(得分:1)

对我来说绝对没问题。

在您的代码中,您忘记关闭文件,而且,由于您在追加模式下打开文件,我的猜测是您在文件中有一些垃圾,而您忘记删除。

另外,请记住,以这种方式写入不会以任何方式分隔数字。

答案 1 :(得分:0)

文件可能有写入问题,因为某些列表对象不是字符串。尝试:

textFile = open('bins.txt', 'w')

for item in bigList:
    print item # This prints fine
    textFile.write(str(item))

textFile.close()

但是我看不到你的清单,所以我不确定这是否是一个实际问题。