argparse包的使用

本文介绍了Python的argparse模块,用于处理命令行参数和选项。内容包括:使用`--help`查看参数说明,参数类型(位置参数和可选参数),`type`、`action`、`default`和`choice`的设置,以及`dest`参数的作用。提供入门和详细文档参考资料。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

参数:
1)"--para"
2)help
3)required:是否必须要写,True必须填写
4)choices=[]:列表中是可供选择的元素
5)default:默认值
6)type:输入参数的类型
7)action:只有两个状态,True或者False。在终端出现就表示True。

简单使用步骤;

import argparse
parser = argparse.ArgumentParser() #定义解析器
parser.add_argument() #添加参数
args = parser.parse_args  #使用参数

–help
运行程序时,可以使用此参数来查看程序中含有的参数,以及参数的解释,也就是自己在add_argument()的help中添加的内容。

(base) yjys@yjys-MS:~/PycharmProjects/ACNet/test$ python argsparse_test.py --help
usage: argsparse_test.py [-h] [-o]

optional arguments:
  -h, --help    show this help message and exit
  -o, --output  use output to choice

参数
参数包含位置参数与可选参数,位置参数不带横杠,而可选参数带横杠,如果是短参数用一个横杠,长参数用两个横杠。

    import argparse
    parser = argparse.ArgumentParser()
    parser.add_argument("-v", "--verbose", help="increase output verbosity")
    parser.add_argument("square", help="display a square of a given number")
    args = parser.parse_args()
'''
位置参数:
按照位置赋值即可,不需要按照格式书写,如 square 12,这样会报错。

可选参数:
代码中-v或者--verbose属于可选参数,也就是可以在终端赋值,也可以不赋值。
赋值时 需要按照格式,如-v 12 或者 --verbose 12;
不赋值时 默认赋值为None,此时不能进行比较大小等,只能用于判断。或者可以在default参数中将其赋值为0。
'''

type=

	import argparse
    parser = argparse.ArgumentParser()
    parser.add_argument("square", type=int, help="display a square of a given number")
    args = parser.parse_args()
    answer = args.square**2
    print(answer)
'''
由于终端直接输入的数字将其当作字符串,因此需要定义其类型。type=int。
'''

action=
设置此项的参数在程序中只有两个状态,True或者False。
而在终端使用时,不需要赋值,出现参数即设置为True,不出现就设置为False。

    import argparse
    parser = argparse.ArgumentParser()
    parser.add_argument('-o',"--output", help='use output to choice', action='store_true')
    args = parser.parse_args()
    if args.output:
        print('true')
    else:
        print('false')
#Terminal:
(base) yjys@yjys-MS:~/PycharmProjects/ACNet/test$ python argsparse_test.py
false
(base) yjys@yjys-MS:~/PycharmProjects/ACNet/test$ python argsparse_test.py -o
true

default=
如果终端没有输入参数,那么就使用default的值,否则使用终端的值。

    import argparse
    parser = argparse.ArgumentParser()
    parser.add_argument('-n', '--number', help='input a number', default=12)
    args = parser.parse_args()
    print(args.number)
#Terminal
(base) yjys@yjys-MS:~/PycharmProjects/ACNet/test$ python argsparse_test.py
12
(base) yjys@yjys-MS:~/PycharmProjects/ACNet/test$ python argsparse_test.py -n 55
55

choice=[]
使用此参数时需要注意,如果可选参数是数字时,需要定义其类型为int型。否则会出错。

    import argparse
    parser = argparse.ArgumentParser()
    parser.add_argument('-c', '--case', help='choice',choices=[1,2,3], type=int)
    args = parser.parse_args()
    if args.case==1:
        print('1')
    elif args.case==2:
        print('2')
    else:
        print('3')
#Terminal
(base) yjys@yjys-MS:~/PycharmProjects/ACNet/test$ python argsparse_test.py -c 2
usage: argsparse_test.py [-h] [-o] [-n NUMBER] [-c {1,2,3}]
argsparse_test.py: error: argument -c/--case: invalid choice: '2' (choose from 1, 2, 3)#此处出错,因为刚开始没有定义type=int

(base) yjys@yjys-MS:~/PycharmProjects/ACNet/test$ python argsparse_test.py -c 2
2
(base) yjys@yjys-MS:~/PycharmProjects/ACNet/test$ python argsparse_test.py -c 1
1

dest=
此参数将终端中使用的-q等与args.world对应起来了,也就是说实际程序中使用的参数和终端中输入的参数可以不同名,此时通过dest参数可以对应起来。

    import argparse
    parser = argparse.ArgumentParser()
    parser.add_argument('-q', dest='world', type=int)
    args = parser.parse_args()
    print(args)
#Terminal
(base) yjys@yjys-MS:~/PycharmProjects/ACNet/test$ python argsparse_test.py -c 1 -q12
Namespace(case=1, number=12, output=False, world=12)

参考:
入门文档
详细文档

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值