@Microp

Subprocess запуск python скрипта из другого скрипта?

пробовал
file = open('test_input_1')
    fileout = open('asd.txt', 'w')
    p = subprocess.Popen([sys.executable, 'solution.py'], stdin=file, stdout=fileout)

и так
p = subprocess.Popen(['/Library/Frameworks/Python.framework/Versions/3.6/bin/python3.6', 'solution.py'], stdin=file, stdout=fileout)

и так
p = subprocess.Popen(['/Library/Frameworks/Python.framework/Versions/3.6/bin/python3.6', '/Users/alexander/repos/station-figaro00/src/solution.py'], stdin=file, stdout=fileout, stderr=fileerr)


сам файл solution.py
str = input().split(' ')
print(int(str[0]) + int(str[1]))

нет вывода ни в stdout ни в stderr
но если прописать в терминале код выполняется
/Library/Frameworks/Python.framework/Versions/3.6/bin/python3.6 /Users/alexander/repos/station-figaro00/src/

рабоать начинает только если явно в solution.py указать путь до python интерпретатора
#!/Library/Frameworks/Python.framework/Versions/3.6/bin/python3.6
str = input().split(' ')
print(int(str[0]) + int(str[1]))

Вопрос, что я неправильно делаю при запуске subprocess? (я думаю, subprocess при таком поведении как-то пробует запустить все аргументы переданные ему, а не первый аргемент как программу и остальные как её аргументы )
  • Вопрос задан
  • 2785 просмотров
Решения вопроса 1
@Microp Автор вопроса
Извиняюсь, ошибка глупая была тот файл solution.py я генерил в самой программе и перед его запуском забыл его закрыть. Это и решило проблему.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@WorldEn
Попробуй так ( только ссылка должна быть максимально подробная ):

p = subprocess.call('/Library/Frameworks/Python.framework/Versions/3.6/bin/python3.6 /Users/alexander/repos/station-figaro00/src/', shell = True)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы