Я использую программное обеспечение для астрофизических спектров под названием Молли.Он используется в терминале как подпроцесс.Мне нужно выполнить некоторые команды в этом программном обеспечении внутри скрипта PythonИтак, я использую пакет подпроцесса.Я получаю эту ошибку, и я не понимаю, почему:
В строке 133 файла src / gethelp.f (unit = 5, file = '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, так что это не может быть проблемой для Молли.Я даже не знаю, что означает эта ошибка.Есть идеи?