可以传递给write()的最大Python对象

时间:2011-10-02 14:09:39

标签: python file size

我正在寻找网络(到目前为止我找到了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文件,这样对于神经元我们正在查看20个索引文件)我想知道文件大小是否真的是问题,或者问题是否必须是在别的东西。

由于

1 个答案:

答案 0 :(得分:4)

我猜你的问题是你创建的字符串太大而不能存在于内存中。对于那些大的东西,你应该把它一块一块地写到磁盘上。

您可以使用pickle,json,xml或其他应该正确处理此问题的内容。