У меня есть два скрипта Python, которые я хочу выполнить; scriptA.py и scriptB.py
Мой код выглядит следующим образом:
sys.argv = [Path_of_scriptA,'arg1','arg2']
exec(open(Path_of_scriptA).read())
#my code exits here!
sys.argv = [Path_of_scriptB,'arg1','arg2','arg3']
exec(open(Path_of_scriptB).read())
#end
Мой код завершается после первой команды выполнения. Однако я бы хотел, чтобы мой скрипт работал до конца #end.
Есть идеи?
Да, я не могу импортировать, потому что они не поддаются. Однако я могу использовать subprocess. Но мне все еще любопытно, почему exec выходит из основного скрипта и как это преодолеть.
Возможно, ваша первая исполняемая программа выдает ошибку, которая не обрабатывается командой exec (которую вы не получите, поскольку она не возвращает никаких результатов). Использование subprocessОткрыть может помочь определить проблему. У него лучшая обработка ошибок, чем у exec, и для будущей работы.






Или используйте
subprocess, если они не поддаются импорту?execпочти никогда не бывает нужным инструментом; это для исключительных обстоятельств.