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()

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

4

2 回答 2

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.

于 2012-09-24T09:26:18.630 回答
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()
于 2012-09-24T08:42:45.593 回答