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