Подпроцесс в скрипте не работает, при запуске вручную

У меня есть скрипт, который читает из базы данных 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, а не строка, что ожидает подпроцесс.

Другие вопросы по тегам