在python中将大型数组写入文件

时间:2018-08-08 23:38:34

标签: python numpy printing writefile

我的割炬模型约为1.7 GB,我尝试将此模型写入文件或打印。代码如下:

import numpy
numpy.set_printoptions(threshold=numpy.nan)
import torchfile
o = torchfile.load('ptn_comb.t7')
#print o
numpy.savetxt("test.txt",o)

当我删除“ numpy.set_printoptions(threshold = numpy.nan)”打印和savetxt时,其运行正常,并在10-15分钟后终止。但是,使用“ numpy.set_printoptions(threshold = numpy.nan)” 即使脚本运行两个小时,它也不会终止,并且test.txt始终为空。

我该如何解决这个问题?谢谢。

1 个答案:

答案 0 :(得分:0)

在没有threshold更改的情况下,print o将汇总输出(默认为1000)。完成后(相对较快),savetxt就可以起作用。它不使用printoptions。它只是在行上进行迭代(第一个昏暗),然后将格式化的字符串写入文件。

threshold设置为nanprint不会汇总。显然,数组太大,以至于格式化和最终打印需要很长时间。而且无法绕过savetxt步骤。