У меня есть серия сценариев, которые я автоматизирую в Python с помощью subprocess.Popen
.По сути, я вызываю сценарий A, затем сценарий B, затем сценарий C и т. Д.
Script A устанавливает набор локальных переменных оболочки с такими командами, как set SOME_VARIABLE=SCRIPT_A
, set PATH=%SCRIPT_A:/=\;%PATH%
.
Тогда сценарии B и C должны иметь последствия этого.В Unix вы бы назвали скрипт A с "source script_a.sh
".Эффект длится в текущем командном окне.Тем не менее, subprocess.Popen эффективно запускает новое окно (вид).
Очевидно, subprocess.Popen
- это не команда, которую я хочу сделать.Как бы я это сделал?
edit Я попытался проанализировать файл (который содержит все операторы 'set') и передать их как словарь в 'env' в subprocess.Popen, нопохоже, все не сработало ..