问题描述
我正在创建一个使用不同的输入值多次运行fortran代码的python脚本。我尝试使用os.system('./fortrancode')
运行fortran代码。但是,fortran代码随后要求输入新的用户。必须以以下格式在多行(fortran代码中的多个read语句)中提供该文件:
[运行fortran代码]
filename_input.txt [按Enter]
filename_output.txt [按Enter]
1 [按Enter]
1 [按Enter]
1 40 [按Enter]
-10 [按Enter]
目前,我无法从python脚本中提供带有这些输入参数的fortran代码。 (可能是因为os.system()正在等待终端执行输出?)我也尝试过执行os.system('./fortrancode\nfilename_input.txt\nfilename_output.txt\n1\n1\n1 40\n-180\n')
,但这似乎也不起作用。
为fortran代码提供我在python脚本中循环输入的输入参数的正确方法是什么?
解决方法
解决方案1:
import subprocess
result = subprocess.Popen(['./fortrancode','filename_input.txt','filename_output.txt','1','40','-180'])
解决方案2:
您可以使用F2PY
从python调用