我可以用python循环运行外部程序吗?

时间:2013-09-12 14:56:37

标签: python numpy

我有这个代码用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

1 个答案:

答案 0 :(得分:1)

您只读取文件,您必须在修改后写入数据。在循环体的末尾添加对numpy.savetxt的添加调用。使用正确的格式等等。

np.savetxt('c:\\Users\\Hidraulica\\Desktop\\w2furnas\\ctr_tr3.npt', trib)