Я пытаюсь понять метод Popen. В настоящее время у меня есть три файла python в одном каталоге: test.py, hello.py и bye.py. test.py - это файл, содержащий метод subprocess.Popen, в то время как hello и bye - это простые файлы hello world и goodbye world, т.е. они содержат только один отпечаток.
если я это сделаю:
import subprocess
from subprocess import PIPE
tst = subprocess.Popen(["python", "hello.py"], stdout=PIPE, stderr=PIPE)
(out,err) = tst.communicate()
Кажется, все работает нормально, получая в оболочке правильную печать «Hello World» для hello.py и делая то же самое для bye.py, оболочка печатает «GoodBye World», как и должно.
Проблема запускается, когда я хочу запустить оба файла,
import subprocess
from subprocess import PIPE
tst = subprocess.Popen(["python", "hello.py", "python", "bye.py"], stdout=PIPE, stderr=PIPE)
(out,err) = tst.communicate()
Это вернет только печать для первого файла .py, а затем вернет
[WinError 2 ] The system cannot find the file specified
Это произойдет, если я также удалю второй «python». Почему это происходит?