Как перебирать и выполнять скрипты из командной строки? - PullRequest
0 голосов
/ 14 июля 2011

У меня есть программа, которую я запускаю из командной строки, которая принимает два аргумента файла, например:

$ my_program

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

$ my_program <file_1> <file_4>
$ my_program <file_2> <file_4>
$ my_program <file_3> <file_4>
...

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

Ответы [ 3 ]

2 голосов
/ 14 июля 2011

Из того, что я собираю, вы хотите что-то вроде этого:

cmds = [path_to_program, arg1, arg2]
subprocess.Popen(cmds)

тогда, если вы хотите перебрать много, что-то вроде:

cmds = [('file1', 'file4'), ('file2', 'file4'), ('file3', 'file4')]
for arg1, arg2 in cmds:
    subprocess.Popen([path_to_program, arg1, arg2])
0 голосов
/ 14 июля 2011

Похоже, что вы ищете, чтобы сделать сценарий Bash. Там вы можете выполнять эти команды, как в командной строке.

Вы можете войти в свою основную функцию и выполнить ее тоже, но она не будет такой гибкой.

0 голосов
/ 14 июля 2011
for fname in ('1', '2', '3'):
  do_something_with(['a', fname, 'b'])

Замените последовательность в цикле for и вызове функции по желанию.

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