Подпроцесс в скрипте не работает, при запуске вручную
У меня есть скрипт, который читает из базы данных mssql и передает прочитанные данные в подпроцесс some.exe
, Выборка данных работает, хорошо, но как только она должна начаться proc = subprocess.(["C:\\absolute\\path\\some.exe ", fetched_data]) proc.wait()
кажется, что пропустить это и продолжается для следующего "fetched_data".. Я также пытался использовать subprocess.call(["C:\\absolute\\path\\some.exe ", fetched_data])
Если я начну python
в консоли (windows cmd) и сделайте то же самое, что и работает.
Почему вызов подпроцесса в сценарии не работает, и если он выполняется вручную в консоли, он не работает?
редактировать: проблема заключалась в том, что подпроцесс запущен в сценарии снова используется another.exe
, который не может быть найден подпроцессом (так как он использовал путь Python). Когда запускается из каталога, где some.exe
а также another.exe
сценарий работает нормально.
1 ответ
fetched_data является дополнительным аргументом, поэтому:
proc = subprocess.call(["C:\\absolute\\path\\some.exe ", fetched_data])
Это аргумент LIST, а не строка, что ожидает подпроцесс.