Список помощников python для аргумента CLI sys.argv

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

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

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

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

1 ответ

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 выдаст вам список параметров, переданных в функцию.

Другие вопросы по тегам