список помощников python для аргумента CLI sys.argv - PullRequest
0 голосов
/ 21 декабря 2018

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

Я знаю, что мы можем достичь этого с помощью модуля argparse, но argparse в моем случае будет излишним - поскольку я просто хочу передать любой (действительный) аргумент, который пользователь дал методу.Как мне добиться этого?

parser.add_argument('--system-status', '-st', metavar='<host>', type=str)
if args.system-status:
    method(args.system-status)

И то же самое повторилось для 5 других переменных?

1 Ответ

0 голосов
/ 21 декабря 2018

Argparse lib - это путь, если вы не хотите проверять каждый параметр, вы можете использовать что-то вроде этого:

import argparse

parser = argparse.ArgumentParser()
parser.add_argument('--foo')
parser.add_argument('--bar')
parser.add_argument('--baz')
args = parser.parse_args()

def f(foo=None, bar=None, baz=None, **kwargs):
    print(foo)
    print(bar)
    print(baz)

f(**args.__dict__)

**args.__dict__ превратит аргументы в словаре и превратит его в kwargs.

Если вы действительно не хотите использовать argparse, тогда sys.argv выдаст вам список параметров, переданных в функцию.

...