在Python中将大列表写入文本文件
当我尝试把一个普通的列表写入文本文件时,发生了一些奇怪的事情。这个列表里有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
对我来说,这个完全没问题。
在你的代码里,你忘记关闭文件了。而且,因为你是以追加模式打开文件的,我猜文件里可能有一些你之前留下的垃圾数据,你忘了清理。
另外,要记住,这样写入数据的话,数字之间不会有任何分隔。