我正在网上(到目前为止我已经找到了 pickle)寻找我做错了什么的解释
我正在尝试将一个非常大的数据结构(嵌套字典/列表)写入文件。使用下面的代码我发现问题可能是因为传递的字符串太大:
f = open('/path/to/file' , 'w')
try:
f.write(str(dataStructure))
except:
try:
f.write('ABC')
except:
print 'Even smaller strings such as ABC did NOT print to the file'
else:
print 'Smaller strings such as ABC DID print to the file'
dataStructure
字典有大量的集团信息,在本例中,大约有 10,000 - 100,000 个浮点值。我将所有内容转储到单个文件中而不是保存在子文件中的全部原因是因为我想执行单个文件来加载它,而不是手动加载文件的几十个子集。
在我开始保存每个 clique 之前(每个神经元都有几个不同的传入 clique 文件,这样对于一个神经元我们正在查看 20 个索引文件)我想知道文件大小是否真的是问题所在,或者问题是否一定是在其他方面。
谢谢
我猜你的问题是你创建的字符串太大而无法存在于内存中。对于这么大的东西,你应该把它一 block 一 block 地写到磁盘上。
您可以使用 pickle、json、xml 或其他可以正确处理此问题的东西。
我是一名优秀的程序员,十分优秀!