В этом случае вам следует установить параметр shell=True
. Вот пример:
Скажем, вы хотите запустить foo
10 раз от bar
:
foo.py
import sys
with open("result.txt", "a") as f:
print("debug")
f.write(sys.argv[1])
bar.py
import subprocess
for i in range(10):
CMD = "python foo.py %s" % i
p = subprocess.Popen(CMD, shell=True, stdout=subprocess.PIPE,
stderr=subprocess.PIPE))
print(p.stdout.read().decode('utf-8'))
После запуска python bar.py
у нас есть файл:
result.txt
1
2
3
4
5
6
7
8
9
10
стандартный вывод
debug
debug
debug
...
debug