Python argparse库 add_argument常用参数

name or flags (参数名或参数标志):

标识命令行中参数的方式。对于位置参数,这是必需的;对于可选参数,可以是一个或多个选项字符串(如 '-a', '--all')。

 add_argument 方法可以只提供此项,后面的参数都是可选可不选的

import argparse  
  
def create_parser():  
    # 创建 ArgumentParser 对象  
    parser = argparse.ArgumentParser(description='这是一个简化的命令行参数示例。')  
    # 添加一个必需的位置参数  
    parser.add_argument('message', help='用户想要输出的消息')  
    # 返回解析器对象  
    return parser  
  
# 创建解析器对象  
parser = create_parser()  
# 解析命令行参数  
args = parser.parse_args()  
  
print(f"你输入的消息是: {args.message}")

赋值:字符串或字符串列表。

action (指定参数的处理方式):

当命令行参数出现时采取的动作。

赋值:store (默认,保存值到属性), store_const (保存一个常量值), store_truestore_false (保存 True 或 False), append (将值添加到列表中), append_const (添加一个常量到列表), count (计数出现的次数), help (打印帮助并退出), version (打印版本信息并退出)。

nargs (命令行应读取的命令行参数的数量):

赋值:整数,? (0或1), * (任意数量,作为列表存储), + (至少一个,作为列表存储), 字符串 (用于可变位置参数)。

const (当 action 为 store_const、append_const 时,指定要存储或追加的常量值):

赋值:任何类型。

default (当参数未在命令行中指定时使用的值):

参数的默认值。

赋值:任何类型。

type (指定如何将命令行参数转换为 Python 类型):

用于转换参数值的类型。

赋值:类型或可调用对象。

choices (限制参数的可能值):

赋值:容器类型(如列表或元组)。

required (是否需要该参数):

如果为 True,则参数是必需的。

赋值:布尔值。

help (在命令行帮助消息中显示的描述):

参数的简短描述。

赋值:字符串。

metavar (自定义命令行帮助中参数的显示名称):

在命令行帮助消息中使用的参数值的名称。如果不提供,则使用 flags 中的名称。

赋值:字符串。

dest (指定在解析后的命名空间中保存参数值的属性名):

参数值的属性名称(在解析后的命名空间对象中)。

赋值:字符串。

import argparse  
  
# 创建一个ArgumentParser对象  
# description参数提供了程序的简短描述,而epilog参数提供了帮助信息的自定义结尾。  
parser = argparse.ArgumentParser(description='一个简单的命令行计算器', epilog='这是一个自定义的帮助信息结尾')  
   

# 定义位置参数名称:'numbers' 是这个位置参数的名称。在解析命令行参数后,可以通过 args.numbers【←这是一个列表】 来访问传递给这个参数的值。
# 【除了让人困惑以外没啥卵用】设置元变量名称:metavar='N' 指定了在帮助信息中显示的参数名称。当用户请求帮助时(如python script.py --help),他们会看到这个 N 作为参数的占位符。
# 指定参数类型:type=float 指定了参数的类型应该是浮点数。这意味着传递给 'numbers' 参数的值会被自动转换为浮点数类型。
# 设置参数数量:nargs='+' 指定了 'numbers' 参数应该接收一个或多个值。+ 符号表示至少需要一个值,而用户可以提供多个值,这些值将被收集到一个列表中。
# 提供帮助信息:help='要进行计算的数字' 提供了一条简短的描述,解释了这个参数的作用。这条信息将出现在程序的帮助输出中。
# 这行代码定义了一个名为 'numbers' 的位置参数,它接收一个或多个浮点数,并将这些数值收集到一个列表中。这个列表之后可以用于执行各种数值计算。

# 如果运行 python script.py 1.5 2.3 4.6,args.numbers 将会是一个包含 [1.5, 2.3, 4.6] 的列表。
parser.add_argument('numbers', metavar='N', type=float, nargs='+', help='要进行计算的数字')  
  
# 当用户通过命令行指定 -a或--add 选项时,
# 程序会将一个执行加法运算的函数【const=sum】存储【action='store_const'】到 args.operation 属性【 dest='operation'】中。
# 之后,程序可以使用这个函数来执行加法运算。
parser.add_argument('-a','--add', dest='operation', action='store_const', const=sum, default=sum,  help='执行加法运算 (默认操作)')  

# 当用户通过命令行指定 -m或--multiply 选项时,
# 程序会将一个执行乘法运算的匿名函数【const=lambda x: x[0] * x[1]】存储【action='store_const'】到 args.operation 属性【dest='operation'】中。
# 之后,程序可以使用这个函数来执行乘法运算。
parser.add_argument('-m','--multiply', dest='operation', action='store_const', const=lambda x: x[0] * x[1], help='执行乘法运算')  
  
# 使用parse_args方法解析命令行参数  
args = parser.parse_args()  
  
# args.operation是一个函数,args.numbers是一个列表,因此可以直接调用args.operation(args.numbers)进行计算
result = args.operation(args.numbers)  
  
print(result)

  • 10
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值