Как выполнить серию скриптов Python в пакетном режиме? - PullRequest
2 голосов
/ 18 ноября 2011

Я часто нахожу, что мне нужно последовательно запускать серию сценариев Python. Порядок и количество этих сценариев могут различаться, но вместо того, чтобы выполнять каждый сценарий индивидуально и последовательно, есть ли предпочтительный способ пакетной автоматизации серии сценариев Python? Моим программам требуется несколько и сложный путь к файлу и другие комбинации аргументов.

Ответы [ 2 ]

6 голосов
/ 18 ноября 2011

Измените их на модули, затем создайте новый сценарий, который import отыскивает соответствующие функции из каждого модуля и запускает их.

Самый простой способ сделать это - написать функцию main для каждого модуля и запустить все функции main последовательно.

1 голос
/ 18 ноября 2011

Я думаю, что вариант Ларсмана самый лучший. Но если есть причины, по которым вы не можете или не должны превращать их в легко импортируемые модули, довольно просто создать файл .bat в Windows (или .ps1, если у вас есть powershell), который вызывает каждый из них по очереди. В Linux то же самое можно сделать с помощью bash или csh, если вы помните, чтобы получающийся пакет выполнялся.

Если вам нужен другой скрипт на Python, который вызывает их так, как если бы они вызывались из командной строки (для передачи комбинаций аргументов без рефакторинга их в модули), вы можете легко использовать os.system или более мощный (но чуть более сложный) модуль подпроцесса .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...