写入文件对象,python

时间:2012-09-24 08:22:50

标签: python

我有以下代码

for i in np.arange(10):
   f = open("file_"+str(i)+".dat",'w')
   for j in np.arange(100):
      f.write(str(func(i,j)))
      f.write("\n")
      print func(i,j)
   f.close()

现在,由于print命令,我可以看到终端上的输出,但是它创建的文件是空的。它无法将输出写入文件。我该怎么办?

2 个答案:

答案 0 :(得分:0)

您可能想尝试:

for i in np.arange(10):
   with open("file_%i.dat" % i,'w') as f:
       for j in np.arange(100):
           val = func(i,j)
           f.write("%s\n" % val)
           print val
       f.flush()

答案 1 :(得分:0)

尝试以下代码。它都显示值并将其写入文件:

import numpy as np

def func(i, j):
    return i + j/1000.0

for i in np.arange(10):
    f = open("file_"+str(i)+".dat",'w')
    for j in np.arange(100):
        f.write(str(func(i,j)))
        f.write("\n")
        print func(i,j)
    f.close()

我的猜测是Daniel Roseman是对的,问题隐藏在你的func中。