Python 语句学习-定义参数解析函数def parse_args()

主要部分

argparse 模块用于在 Python 程序中处理命令行参数。

import argparse

# 创建一个属于argparse.ArgumentParser中的对象parser(也就是可以访问这个ArgumentParser函数)
parser = argparse.ArgumentParser(description='这是一个示例程序,用于演示 argparse 的用法')


#通过parser.add_argument添加参数
# 添加一个名为 '--num' 的【可选参数】,类型为整数,默认值为 0,并提供帮助信息
parser.add_argument('--num', type=int, default=0, help='一个整数参数')
# 添加一个名为 'name' 的【位置参数】,并提供帮助信息
parser.add_argument('name', help='您的名字')


# 解析命令行参数
args = parser.parse_args()

# 打印解析后的参数
print(f'您输入的名字是: {args.name}')
print(f'您输入的数字是: {args.num}')
  1. 使用 parser.parse_args 方法来解析命令行中输入的参数,并将结果存储在 args 对象中。

  2. 最后,可以通过 args.name 和 args.num 来访问解析得到的参数值,并进行后续的处理

 假设输入

python example.py Alice --num 5

程序将输出:

您输入的名字是: Alice
您输入的数字是: 5

关于添加参数的补充

parser.add_argument('--cpu', dest='force_cpu', action='store_true', default=False, help='Force code to run in CPU mode')

dest='force_cpu' 这个参数的作用是

当在命令行中输入了 --cpu 这个参数时,程序解析这个输入后,不会把这个参数的值存储在名为 cpu 的变量中,而是会把它存储在名为 force_cpu 的变量中

比如说,如果没有 dest='force_cpu' ,那么要获取这个参数的值,您可能会使用 args.cpu 。但由于有了 dest='force_cpu' ,您就需要使用 args.force_cpu 来获取这个参数的值。

解释位置参数和可选参数:

【位置参数】(必须输入)

指的是在命令行中按照固定的顺序输入的参数,不需要使用特定的名称或标志来标识。

在 argparse 中添加位置参数时,不需要在参数名称前添加 -- 或 -

eg:

import argparse

parser = argparse.ArgumentParser()
parser.add_argument('name', help='您的名字')

args = parser.parse_args()
print(args.name)

在命令行运行此脚本时,必须在脚本名称后面紧接着输入名字的值,例如:python script.py Alice ,这里的 Alice 就是位置参数 name 的值

【可选参数】(选择性输入)

这些参数在命令行中不是必须输入的,并且通常使用特定的名称或标志(如 -- 或 - )来标识

eg:

import argparse

parser = argparse.ArgumentParser()
parser.add_argument('--verbose', action='store_true', help='是否输出详细信息')

args = parser.parse_args()
if args.verbose:
    print('正在以详细模式运行...')

在命令行中,可以选择输入 python script.py --verbose 来启用详细模式,也可以直接运行 python script.py 而不启用。

  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值