Передача аргументов командной строки функции Python в скрипте - PullRequest
0 голосов
/ 04 августа 2020

У меня есть функция, которая требует аргументов командной строки (с optparse), которая выглядит примерно так:

def foo():
    parser = optparse.OptionParser()
    parser.add_option("-i", dest="input")
    parser.add_option("-o", dest="output")
    (options, args) = parser.parse_args()

    do_something(options.input, options.output)
    return

Мне нужно вызвать эту функцию из другого Python скрипта. Кто-нибудь знает, как передать аргументы этому, не используя os.system('foo -i input_path -o output_path')?

1 Ответ

0 голосов
/ 04 августа 2020

Можно ли изменить вашу структуру, чтобы включить аргументы функции? Если вы вызываете его из другого скрипта, это упростит задачу.

def foo(input, output):
    parser = optparse.OptionParser()
    parser.add_option("-i", dest="input")
    parser.add_option("-o", dest="output")
    (options, args) = parser.parse_args()
    if options.input:
        input=options.input
    if options.output:
        output=options.output
    do_something(input, output)
    return

В противном случае вы можете попробовать подпроцесс при вызове из другого скрипта, так как это позволяет вам использовать args

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