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中可以直接调用某个对象的消息方式有两种,其中一种就是 ...
随机推荐
- macos(m1)编译测试深度学习推理框架
mnn build tnn
- pytorch模型降低计算成本和计算量
下面是如何使用PyTorch降低计算成本和计算量的一些方法: 压缩模型:使用模型压缩技术,如剪枝.量化和哈希等方法,来减小模型的大小和复杂度,从而降低计算量和运行成本. 分布式训练:使用多台机器进行分 ...
- Unity TheHeretic Gawain Demo 异教徒Demo技术学习
<异教徒 Heretic>是Unity在2019年GDC大会上展示的一款技术Demo,部分资源于2020年中旬公开下载. 这款Demo主要用于展示Unity在数字人技术领域的最新进展,尤其 ...
- Note -「A. Algebra 24 Aut.」“还有一束日光正在为你送达”
欢迎勘误吖! 喵, 你可以 Ctrl-F 搜 "lww" 获取少量 lww 笑话. (雾 ↓下面这个是我目前用的 LaTeX 宏, 如果需要可以 "Show ...
- SQL统计数据之总结
一.查询SQL SELECT t1.规则编号 AS 编码, t1.规则描述 AS 名称, SUM( CASE WHEN t3.DATA_SOURCES = '00' THEN 1 ELSE 0 END ...
- c# C#设置WebBrowser使用Edge内核
开始尝试是用 Microsoft.Toolkit.Forms.UI.Controls.WebView,后来发现一大堆问题,还要求WIN10 SDK的版本之类的. 网上看到的简单的解决办法(只需要修改注 ...
- 微服务实战系列(十一)-微服务之自定义脚手架-copy
微服务实战系列(十一)-微服务之自定义脚手架 1. 场景描述 (1)随着微服务越来越常见,一个大的项目会被拆分成多个小的微服务,jar包以及jar之间的版本冲突问题,变得越来越常见,如何保持整体微 ...
- Slort pg walkthrough Intermediate window
nmap ┌──(root㉿kali)-[~] └─# nmap -p- -A -sS 192.168.226.53 Starting Nmap 7.94SVN ( https://nmap.org ...
- MySQL分页性能思考
MySQL分页性能思考 关键词:深度分页 背景 最近有一个需求:在后台管理页面中,需要展示产品信息的列表. 之前版本开发中产品信息是用户填写完所有字段之后能进行保存.在之前的基础上需要支持用户不完全填 ...
- C# 10个常用特性
感谢一傻小冲的分享 https://www.cnblogs.com/liyichong/p/5434309.html 觉得很实用就搬抄一份收藏,上了年纪记忆力不好了. 1) async / await ...