在Python中将大列表写入文本文件

0 投票
2 回答
4960 浏览
提问于 2025-04-17 15:08

当我尝试把一个普通的列表写入文本文件时,发生了一些奇怪的事情。这个列表里有648470个字符串值。

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

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

    textFile.close()

文本文件的大小迅速增加,里面充满了各种符号,而不是我想要的内容……即使我只写了大列表中的一小部分,文本文件也会变得损坏。如果我用一个小得多的列表做同样的事情,就没有问题。是不是因为列表太大了,所以才导致这个问题?print(bigList[:10])的输出是

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

2 个回答

0

这个文件可能在写入的时候出现问题,因为列表里的某些对象不是字符串。你可以试试:

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

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

textFile.close()

不过我看不到你的列表,所以不确定这是不是个真正的问题。

1

对我来说,这个完全没问题。

在你的代码里,你忘记关闭文件了。而且,因为你是以追加模式打开文件的,我猜文件里可能有一些你之前留下的垃圾数据,你忘了清理。

另外,要记住,这样写入数据的话,数字之间不会有任何分隔。

撰写回答