繁体   English   中英

使用Python从大列表写入文本文件

[英]Writing from a large list to a text file in 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']

它对我来说绝对很好。

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

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

由于某些列表对象不是字符串,因此文件写入时可能会出现问题。 尝试:

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

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

textFile.close()

但是,我看不到您的列表,因此无法确定这是否是实际问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM