Я работаю в среде Windows (мой ноутбук!), И мне нужна пара сценариев, которые запускают другие программы, почти как пакетный файл Windows.
как мне запустить команду из python, чтобы программа при запуске заменяла скрипт? Программа является интерактивной (например, унисон) и поддерживает печать строк и все время запрашивает ввод данных пользователем.
Итак, простого запуска программы и распечатки вывода будет недостаточно. Программа должна захватить ввод / вывод скрипта, очень похоже на выполнение команды из файла .bat.
Я попробовал os.execl, но он продолжает сообщать мне «недопустимые аргументы», также он не находит имя программы (не ищет переменную PATH); Я должен дать ему полный путь ..?!
в принципе, в пакетном скрипте я могу написать:
унисон профиль
как я могу добиться того же эффекта в Python?
EDIT:
Я обнаружил, что это можно сделать с помощью os.system( ... )
, и поскольку я не могу принять свой собственный ответ, я закрываю вопрос.
РЕДАКТИРОВАТЬ: это должен был быть комментарий, но когда я его опубликовал, у меня не было много очков.
Спасибо, Клаудиу, это почти то, что я хочу, за исключением небольшой вещи: я хочу, чтобы функция заканчивалась при выходе из программы, но когда я пробую ее в унисон, она не возвращает управление скрипту python, но в среду командной строки Windows
>>> os.execlp("unison")
C:\>Usage: unison [options]
or unison root1 root2 [options]
or unison profilename [options]
For a list of options, type "unison -help".
For a tutorial on basic usage, type "unison -doc tutorial".
For other documentation, type "unison -doc topics".
C:\>
C:\>
C:\>
как это обойти?