Я работаю в среде Windows (мой ноутбук!), И мне нужно несколько сценариев, которые запускают другие программы, в значительной степени похожие на пакетный файл Windows.python как «пакетный» скрипт (т. Е. Запуск команд из python)
Как я могу запустить команду из python, чтобы программа при запуске заменила скрипт? Программа интерактивна (например, унисон) и продолжает печатать строки и постоянно спрашивать пользователя.
Итак, просто запустить программу и распечатать вывод не хватит. Программа должна захватить ввод/вывод сценария, довольно mcuh, как запуск команды из .bat-файла.
Я пробовал os.execl, но он продолжает говорить мне «недопустимые аргументы», также он не находит имя программы (не ищет переменную PATH); Я должен дать ему полный путь ..?!
в основном, в пакетном сценарии я могу написать: унисон профиль
как я могу добиться того же эффекта в Python?
EDIT:
я узнал, что это может быть сделано с os.system(...)
и так как я не могу принять свой ответ, я закрываю вопрос.
EDIT: это должен был быть комментарий, но когда я разместил его, у меня не было много очков.
Спасибо Клаудиу, это в значительной степени то, что я хочу, за исключением маленькой вещи: я хочу, чтобы функция заканчивалась, когда программа выходит, но когда я пытаюсь ее унисон, она не возвращает управление скрипту python, но к среде командной строки окон
>>> 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:\>
Как обойти это?
Это помогает обеспечить скрипт, который не работает. – 2008-11-22 23:53:36
Не нужно закрывать вопрос, потому что вы не можете принять свой ответ. Если это самый признанный голос, это в основном то же самое, что и принятое. Немного раздражает, правда, но закрытие - это не правильный путь вокруг, я бы сказал. – dbr 2008-12-27 03:11:37