python-argparse用法简介
1. argparse介绍
argparse是Python标准库中用于解析命令行参数的模块。它提供了一种简洁而灵活的方式来处理命令行参数,包括选项(可选参数)和位置参数(必需参数)
2. argparse基本使用
点击查看代码
import argparse
# 1. 创建ArgumentParser对象,在创建ArgumentParser对象时,可以传入一个可选的description参数,用于描述你的程序的功能和用法。
parser = argparse.ArgumentParser(description='Description of your program')
# 2. 添加命令行参数
# 2.1 添加位置参数
# 位置参数指的是位置参数是指在命令行中没有使用选项标志(如-或--)的参数,它们根据在解析器中定义的顺序进行解析。所以位置参数在传入时要根据定义顺序传入
parser.add_argument('name', help="Name of the person")
# 2.2 添加可选参数
# 以下-g和--greeting的关系:
# -g: 短选项。使用方式示例:-g "Hello" 或 -gHello
# -greeting: 长选项。似乎用方式示例:--greeting "Hello" 或 --greeting=Hello
# -g和--greeting两种方式可以同时存在,也可以只选其一。
parser.add_argument('-g', '--greeting', help='Greeting message')
# 3. 解析命令行参数
args = parser.parse_args() # parse_args()方法会解析命令行参数,并返回一个包含解析结果的命名空间对象
# 4. 使用解析结果
# 可以通过访问命名空间对象的属性来获取解析后的参数值。
print(args.name)
print(args.greeting)
print(args.g)
3. 子命令解析器
点击查看代码示例
import argparse
# 创建解析器对象
parser = argparse.ArgumentParser()
# 创建子命令解析器对象
subparsers = parser.add_subparsers(dest='command')
# 创建子命令 'add' 的解析器
add_parser = subparsers.add_parser('add')
add_parser.add_argument('numbers', type=int, nargs='+', help='numbers to add')
# 创建子命令 'multiply' 的解析器
multiply_parser = subparsers.add_parser('multiply')
multiply_parser.add_argument('numbers', type=int, nargs='+', help='numbers to multiply')
# 解析命令行参数
args = parser.parse_args()
# 根据命令调用相应的处理函数
if args.command == 'add':
result = sum(args.numbers)
print(f'Sum: {result}')
elif args.command == 'multiply':
result = 1
for num in args.numbers:
result *= num
print(f'Product: {result}')
点击查看示例运行结果
$ python argparse_for_subparser.py add 2 3 4
Sum: 9
$ python argparse_for_subparser.py multiply 2 3 4
Product: 24
python-argparse用法简介的更多相关文章
- python argparse用法总结
转:python argparse用法总结 1. argparse介绍 argparse是python的一个命令行解析包,非常适合用来编写可读性非常好的程序. 2. 基本用法 prog.py是我在li ...
- 【转】python argparse用法总结
转自:https://www.jianshu.com/p/fef2d215b91d 1. argparse介绍 是python的一个命令行解析包,非常编写可读性非常好的程序 2. 基本用法 prog. ...
- 转载:python argparse用法总结
https://www.jianshu.com/p/fef2d215b91d 1. argparse介绍 是python的一个命令行解析包,非常编写可读性非常好的程序 2. 基本用法 prog.py是 ...
- Python argparse用法
import argparse import sys parser = argparse.ArgumentParser(description='this is for test.') parser. ...
- Python argparse 用法总结
使用argparse的四个基本步骤 创建 ArgumentParser() 对象 调用 add_argument() 方法添加参数 使用 parse_args() 解析添加的参数 # example ...
- Python生态环境简介[转]
Python生态环境简介 作者: Mir Nazim 原文: Python Ecosystem - An Introduction 译者: dccrazyboy 原译: Python生态环境简介 当 ...
- (转)python生态环境简介
Python生态环境简介 作者: Mir Nazim 原文: Python Ecosystem - An Introduction 译者: dccrazyboy 原译: Python生态环境简介 当 ...
- Python argparse 处理命令行小结
Python argparse 处理命令行小结 1. 关于argparse是python的一个命令行解析包,主要用于处理命令行参数 2. 基本用法test.py是测试文件,其内容如下: import ...
- python argparse库
argparse用法总结 https://blog.csdn.net/qq_24551305/article/details/90155858 args = parse.parse_args()par ...
- IOS NSInvocation用法简介
IOS NSInvocation用法简介 2012-10-25 19:59 来源:博客园 作者:csj007523 字号:T|T [摘要]在 iOS中可以直接调用某个对象的消息方式有两种,其中一种就是 ...
随机推荐
- Redis 源码简洁剖析 08 - epoll
select, poll, epoll 源码分析 参考链接 Redis 源码简洁剖析系列 select, poll, epoll 关于 select, poll, epoll,网络 IO 演变发展过 ...
- python_pip 安装工具包
e.g: pip install pygame http://mirrors.aliyun.com/pypi/simple/ 安装方法可以直接在命令行输入pip install -扩展包名字. 加快安 ...
- SpringBoot集成MinIO8.3.x 依赖冲突解决,至简之招覆盖spring-boot-dependencies的依赖版本声明
版本声明 SpringBoot 2.6.5 MinIO 8.3.7 报错信息 An attempt was made to call a method that does not exist. The ...
- Java中的值类型
在打算了解Java的时候,根据C#的经验,了解一下Java中有哪一些值类型,如何判断某个类型为值类型还是引用类型是一件值得做的事情. 在C#中,值类型存放在栈中,不需要垃圾回收,引用类型存放在堆中,需 ...
- SpringBoot启动源码分析
- Maven:目前的部分技术
- PayDay Intermediate
nmap + dirsearch 发现web站点 扫目录 ┌──(root㉿kali)-[/home/ftpuserr] └─# nmap -p- -A 192.168.167.39 Starting ...
- ReentrantLock实现机制
掌握Reentrantlock 具体结构 下文Reentrantlock简称RL,阅读之前强烈建议读一下AQS源码解析: https://www.cnblogs.com/seamount3/p/186 ...
- 登上国际舞台!天翼云P4 EIP网关流量管理创新方案亮相CCGrid 2024!
5月8日,第24届IEEE/ACM集群.云和互联网计算国际研讨会(CCGrid 2024)在美国费城隆重举行.来自中国.美国.印度.法国等国家的学术及产业界代表齐聚一堂,围绕云计算相关议题进行深入探讨 ...
- 满血 DeepSeek 现可无需等待免费使用暨第三方 API 平台横评
亮点:高可用的 API 平台,新人免费 100 万 token ,DeepSeek-R1 (671B)与 DeepSeek-V3 模型享五折优惠,活动时间为2025年02月12日18:00:00~20 ...