在python中保存文本文件的输出

时间:2015-02-25 15:22:20

标签: python-2.7

我正在尝试打印巨大矩阵计算的结果,但是当我使用此方法将其打印在文本文件中时

rig_stdout = sys.stdout
f = file('Trimer.txt', 'w')
sys.stdout = f
for i,u in enumerate(Trimer_basis):
    print  u,':',i+1, 'times'
w, v = linalg.eig(EigenMatrix)
print "The energies are"
print w

它不打印完整的结果,而是我得到了以下的部分内容 能量是

[-6. -4. -2. ...,  0.  0.  0.] 

我想知道是否有更好的方法在文本文件中打印这么大的数据?

1 个答案:

答案 0 :(得分:0)

打印应仅用于显示到控制台,您正在寻找文件的写入方法。

with open('Trimer.txt', 'w') as f:

    for i,u in enumerate(Trimer_basis):
        w, v = linalg.eig(EigenMatrix)

    f.write(str(u) + " : " + str(i+1) + " times" + '\n')
    f.write(w)

with块在退出时自动关闭文件