Попен и общение не работает в питоне - PullRequest
0 голосов
/ 09 июля 2019

Я использую программное обеспечение для астрофизических спектров под названием Молли.Он используется в терминале как подпроцесс.Мне нужно выполнить некоторые команды в этом программном обеспечении внутри скрипта 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, так что это не может быть проблемой для Молли.Я даже не знаю, что означает эта ошибка.Есть идеи?

...