使用 Fortran 二进制文件的此处文档结构的 Python 脚本

问题描述 投票:0回答:1

我使用 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
!
python bash subprocess command-line-interface
1个回答
0
投票

使用编码,不!供您输入(!是用来标记开始和结束的)

here_document_input ="""input 1
input 2
input 3
"""
result = subprocess.run("program", input=here_document_input.encode(), text=True, shell=True)
© www.soinside.com 2019 - 2024. All rights reserved.