subprocess.call() для запуска скрипта из вложенной папки?

#python #subprocess #subdirectory

#python #подпроцесс #подкаталог

Вопрос:

Я хочу запустить другой вложенный скрипт из моего текущего родительского скрипта python, который находится во вложенной папке родительского скрипта с subprocess.call('sub-script.py',cwd='subfolder') , и он не может найти путь. Есть ли что-то, чего мне не хватает в том, как использовать cwd с subprocess ?

Папки:

 parent-script.py
---subfolder
   sub-script.py
  

Комментарии:

1. Может быть, трудно сказать с таким небольшим количеством информации subproces.call("python sub-script.py".split(),...) ?

2. Зачем вам вообще запускать Python как подпроцесс Python? Почти всегда есть лучшие способы запустить другой скрипт из вашего.

Ответ №1:

поскольку subfolder , вероятно, не находится на вашем пути, вам нужно добавить «./» при вызове sub-script.py (предполагая, что это исполняемый файл):

 subprocess.call('./sub-script.py', cwd='subfolder')
  

Комментарии:

1. одинаково хорошо работает при запуске subprocess.run().