Я пытаюсь написать сценарий, который передает переменную из сценария 1 в сценарий 2, затем сценарий 2 передает переменную сценарию 3 с помощью подпроцесса.Но я получаю ответы только из сценариев 1 и 2.
Я ожидаю получить:
TOM
Дик
Гарри
Привет
Но я получаю следующее:
TOM
Hello
Код, который я использую:
Сценарий 1
import subprocess
pythonExecutable = 'C:\\Users\\bradl\\Anaconda2\\envs\\GeoSpatial_3.6\\python.exe'
varTest_1 = "Tom"
program = 'D:\\Training\\FromCommandLine\\Script_2.py'
subprocessList1 = [pythonExecutable, program, varTest_1]
p1 = subprocess.Popen(subprocessList1, stdout=subprocess.PIPE, stdin=subprocess.PIPE)
out1, err1 = p1.communicate()
print(out1.decode('utf-8'))
Сценарий 2
import sys
import subprocess
pythonExecutable = 'C:\\Users\\bradl\\Anaconda2\\envs\\GeoSpatial_3.6\\python.exe'
program = 'D:\\Training\\FromCommandLine\\Script_3.py'
varTest_2 = sys.argv[1]
print(str(varTest_2).upper())
varTest_3 = "Dick"
subprocessList2 = [pythonExecutable, program, varTest_3]
p2 = subprocess.Popen(subprocessList2, stdout=subprocess.PIPE, stdin=subprocess.PIPE)
out2, err2 = p2.communicate()
print(out2.decode('utf-8'))
print('Hello')
Сценарий 3
import sys
varTest_4 = sys.argv[1]
print(varTest_4)
print(str(varTest_4).upper())
print('Harry')
Буду признателен за любую помощь!