如何使用python库解析器接收1个参数并仅使用该参数?

如何使用python库解析器接收1个参数并仅使用该参数?,python,python-3.x,command-line,terminal,Python,Python 3.x,Command Line,Terminal,我正在做一个命令行应用程序来验证一个网站是否处于活动状态,我想接收一个参数,但是解析器需要接收一个参数和一个用于此参数的valor,所以我的问题是:如何仅使用一个参数? 这是我的代码: if __name__=="__main__": import requests import datetime from time import sleep import argparse parser = argparse.ArgumentParse

我正在做一个命令行应用程序来验证一个网站是否处于活动状态,我想接收一个参数,但是解析器需要接收一个参数和一个用于此参数的valor,所以我的问题是:如何仅使用一个参数? 这是我的代码:

if __name__=="__main__":
    import requests
    import datetime
    from time import sleep
    import argparse
    parser = argparse.ArgumentParser()
    parser.add_argument('u',  help="Unique verification")
    parser.add_argument('c', help="Continuos verification")
    parser.add_argument('s', help="Check and save to file")
    parser.add_argument('d', help="Documentation")
    args = parser.parse_args()
    main(parser.parse_args)

我的函数main接收到一个字符,如何通过命令行使用字符?

您当前正在创建必需的位置参数,以便

python3 verify.py foo bar baz bye
python3 verify.py -u -s
会导致

args.u == 'foo'
args.c == 'bar'
args.s == 'baz'
args.d == 'bye'
args.u == True
args.c == False
args.s == True
args.d == False
您希望使用
store\u true
操作定义四个选项,以便提供该选项将标志从其默认值
False
设置为
true

parser = argparse.ArgumentParser()
parser.add_argument('-u', action='store_true', help="Unique verification")
parser.add_argument('-c', action='store_true', help="Continuos verification")
parser.add_argument('-s', action='store_true', help="Check and save to file")
parser.add_argument('-d', action='store_true', help="Documentation")
args = parser.parse_args()
现在一个电话

python3 verify.py foo bar baz bye
python3 verify.py -u -s
会导致

args.u == 'foo'
args.c == 'bar'
args.s == 'baz'
args.d == 'bye'
args.u == True
args.c == False
args.s == True
args.d == False
如果要进一步限制用户仅使用四个选项中的一个,请使用互斥组

# Same as above, calling group.add_argument, not parser.add_argument
parser = argparse.ArgumentParser()
group = parser.add_mutually_exclusive_group()
group.add_argument('-u', action='store_true', help="Unique verification")
group.add_argument('-c', action='store_true', help="Continuos verification")
group.add_argument('-s', action='store_true', help="Check and save to file")
group.add_argument('-d', action='store_true', help="Documentation")
args = parser.parse_args()

您要么需要一个参数,带有有效值的显式列表(
add_参数('foo',choices=['u','c','s','d'])
),要么需要定义4个独立的子参数,每个子参数由
u
c
s
中的一个触发,作为第一个参数,我想调用终端中的程序:<代码> Python 3 ValIF.PY-U 或<代码> Python 3 Valf.Py -C<代码>,并为我的主要功能给出这个参数,在哪里我需要使用这个?对不起,命中返回在评论的中间,然后决定我要输入的应该是答案。如果我用这个parser.add_参数('u',action='u',help=“Unique verification”)parser.add_参数('c',action='c',help=“Continuos verification”)parser.add_参数('s',action='s',help=“Check and save to file”)parser.add_参数('d',action='d',help=“Documentation”)``否,
action
参数要么是
argparse.action
的子类,要么是注册以引用此类的字符串。除非您正在定义,否则您不希望使用位置参数。