sys.argv CLI参数的python-helper列表

时间:2018-12-21 13:00:11

标签: python argparse argv sys

我必须为我的python脚本读取CLI参数,然后由用户将该输入参数传递给方法。我想为用户提供她可以输入的有效参数列表,类似于在运行脚本时使用无效参数或不传递任何参数的脚本-它向您显示只能输入这些参数。

我知道我们可以使用argparse模块来实现这一点,但是在我的情况下,argparse将是一个过大的杀手-因为我只想将用户给方法提供的任何(有效)参数传递给我。我应该如何实现?

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

对另外5个变量重复同样的内容吗?

1 个答案:

答案 0 :(得分:0)

使用argparse库是一种方法,如果您不想检查每个参数,则可以使用如下代码:

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__会将字典中的args转换为kwargs。

如果您绝对不想使用argparse,则sys.argv将为您提供传递给该函数的参数列表。