python中的argparse模块(参数解析) 您所在的位置:网站首页 python默认值参数后面不能有 python中的argparse模块(参数解析)

python中的argparse模块(参数解析)

2023-08-27 05:18| 来源: 网络整理| 查看: 265

引入

在做项目的时候,发现一个问题:

针对下面的这句一直理解不了:

parser.add_argument("--x", help="横坐标", type=int)

这边带个--和没有--到底有什么区别,各种查找,也没发现我想要的答案。

后面再一个犄角旮旯的地方发现下面这个博文:

示例代码

import argparse parse = argparse.ArgumentParser() parse.add_argument("a", help="params means") parse.add_argument("-C", "--gc", default="count") parse.add_argument("--ga", help="params means ga",dest='simple_value',choices=['A', 'B', 'C', 0]) parse.add_argument("--gb", help="params means gb",action="store_const",const='value-to-store') args = parse.parse_args() print args.simple_value,args.gb,args.gc

解释

### add_argument 说明 不带'--'的参数 调用脚本时必须输入值 参数输入的顺序与程序中定义的顺序一致 '-'的参数 可不输入 add_argument("-a") 类似有'--'的shortname,但程序中的变量名为定义的参数名 '--'参数 参数别名: 只能是1个字符,区分大小写 add_argument("-shortname","--name", help="params means"),但代码中不能使用shortname dest: 参数在程序中对应的变量名称 add_argument("a",dest='code_name') default: 参数默认值 help: 参数作用解释 add_argument("a", help="params means") type : 默认string add_argument("c", type=int) action: store:默认action模式,存储值到指定变量。 store_const:存储值在参数的const部分指定,多用于实现非布尔的命令行flag。 store_true / store_false:布尔开关。 store_true.默认为False,输入则为true。 store_flase 相反 append:存储值到列表,该参数可以重复使用。 append_const:存储值到列表,存储值在参数的const部分指定。 count: 统计参数简写输入的个数 add_argument("-c", "--gc", action="count") version 输出版本信息然后退出。 const:配合action="store_const|append_const"使用,默认值 choices:输入值的范围 add_argument("--gb", choices=['A', 'B', 'C', 0]) required : 默认False, 若为 True, 表示必须输入该参数

很多同学看到这边可能还是看不懂。没事,下面我根据参数的情况给几个demo。

demo1 带--的参数 import argparse parser = argparse.ArgumentParser() parser.add_argument("--x", help="横坐标", type=int) args = parser.parse_args() x = args.x print(x); # 运行结果 (base) G:\python\2020\untitled\fly>python no.py --x 1 1 (base) G:\python\2020\untitled\fly>python no.py 1 usage: no.py [-h] [--x X] no.py: error: unrecognized arguments: 1 (base) G:\python\2020\untitled\fly>python no.py None demo2 带-的参数 import argparse parser = argparse.ArgumentParser() parser.add_argument("-x", help="横坐标", type=int) args = parser.parse_args() x = args.x print(x); # 运行结果 (base) G:\python\2020\untitled\fly>python no.py None (base) G:\python\2020\untitled\fly>python no.py 1 usage: no.py [-h] [-x X] no.py: error: unrecognized arguments: 1 (base) G:\python\2020\untitled\fly>python no.py -x 1 1 demo3 不带-也不带--的参数 import argparse parser = argparse.ArgumentParser() parser.add_argument("x", help="横坐标", type=int) args = parser.parse_args() x = args.x print(x); # 运行结果 (base) G:\python\2020\untitled\fly>python no.py usage: no.py [-h] x no.py: error: the following arguments are required: x (base) G:\python\2020\untitled\fly>python no.py 1 1 (base) G:\python\2020\untitled\fly>python no.py x 1 usage: no.py [-h] x no.py: error: argument x: invalid int value: 'x'

 

最近对python的学习有一定的积累,所以承接关于python之类的项目或者系统设计。有兴趣的可以私信我,或者加我qq:1702377988

 

 

 



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有