Я видел здесь несколько других проблем, выполняющих подпроцессы с Python, но никто из них не решил проблему, с которой я сталкиваюсь в данный момент. Относительно новичок в Python, поэтому просто играю, и я уверен, что это простое решение. Но я просто не могу заставить его работать!Подпроцесс Python - ничего не возвращает
Я хочу, чтобы подпроцесс возвращал некоторые данные, а это не так. Поэтому я написал этот базовый пример, чтобы попытаться заставить его работать, но это все еще не так. Где я иду не так? Я не получаю никаких ошибок или ничего, это просто ничего не делает.
sp_test.py
import os
import subprocess
def main():
subp = subprocess.check_call(['python', 'sp.py'])
print subp
if __name__ == '__main__':
main()
и ...
sp.py
def do_something():
return "Hello World!"
do_something()
exit()
возвращается Проверка вызовов в только код возврата. Также вам нужно распечатать Hello World. Поскольку единственный способ - захватить печатный результат. Может быть, check_output? – Gohn67
Если вы хотите увидеть выход, используйте 'print (do_something())' –