我正在使用名为Molly的天体光谱软件。它在终端中用作子过程。我需要在python脚本中的该软件中执行一些命令。因此,我正在使用子流程包。我收到此错误,但我不明白为什么:
在文件src / gethelp.f的第133行(单位= 5,文件='stdin') Fortran运行时错误:文件结尾
我已经尝试过了:
from subprocess import Popen, PIPE,DEVNULL
p = Popen("/home/ayozeah/trm-software/molly/molly", stdin=PIPE,stdout=PIPE,shell=False)
p.communicate('load average_y_template1.mol 1 1000 1')
p.communicate('@macro_molly.txt')
我还尝试了另一种方法(在此网络上找到问题的答案之后):
from subprocess import Popen, PIPE,DEVNULL
with Popen("/home/ayozeah/trm-software/molly/molly", stdin=PIPE, stdout=DEVNULL, bufsize=1,universal_newlines=True) as process:
print("load average_y_template1.mol 1 1000 1", file=process.stdin)
print(file=process.stdin)
print("@macro_molly.txt", file=process.stdin)
print(file=process.stdin)
两种情况下的错误相同。该命令在没有python的情况下也能很好地工作,因此对于Molly来说不是问题。我什至不知道这个错误是什么意思。有想法吗?