我使用 Fortran 代码,它通过“<<" here-document structure. E.g.:
program <<!
input 1
input 2
input 3
!
如何将输入参数从 python 脚本传递给代码?我尝试了几种使用 subrocess.run() 的方法,但没有成功,shell 似乎总是等待最后的“!”因此,不会终止。
我试过了
here_document_input ="""<<!
input 1
input 2
input 3
!
"""
result = subprocess.run("program", input=here_document_input, text=True, shell=True)
另外,我尝试将输入作为文件传递
result = subprocess.run("program", "<<!", "$(cat file.input)",shell=True)
file.input 只包含:
input 1
input 2
input 3
!
使用编码,不!供您输入(!是用来标记开始和结束的)
here_document_input ="""input 1
input 2
input 3
"""
result = subprocess.run("program", input=here_document_input.encode(), text=True, shell=True)