0

我有这段代码可以用 python 运行外部程序。目标是在循环的每个步骤中将外部程序 (ctr3.npt) 使用的文本文件之一中的值替换为文本文件 (tsr_1_seg6.txt) 中程序输出中的值. 此代码有效,但它不会在循环的每个步骤中保存 ctr3.npt 中的值。如果有人可以帮助我,谢谢。

N=5
for i in xrange(N):
    os.chdir( 'c:\\Users\\Hidraulica\\Desktop\\w2furnas' )
    os.system( '"C:\\Users\\Hidraulica\\Desktop\\w2furnas\\w2.exe"' )
    shutil.move('tsr_1_seg6.opt', 'tsr_1_seg6.txt')

    data = np.genfromtxt('c:\\Users\\Hidraulica\\Desktop\\w2furnas\\tsr_1_seg6.txt', skip_header=11, names=True)
    input=np.array(data['PO4'])

    trib =np.genfromtxt('c:\\Users\\Hidraulica\\Desktop\\w2furnas\\ctr_tr3.npt', skip_header=2, names=True)
    out=np.array(trib['PO4'])
    out[i]= input[i]*0.75
    trib['PO4']=out
4

1 回答 1

1

您只是在读取文件,一旦修改就必须写入数据。在循环体的末尾添加 add call to numpy.savetxt. 例如,使用正确的格式等。

np.savetxt('c:\\Users\\Hidraulica\\Desktop\\w2furnas\\ctr_tr3.npt', trib)
于 2013-09-12T18:07:48.007 回答