python argparse 模块命令行参数用法及说明
作者:打工人小飞 发布时间:2023-10-26 00:08:27
标签:python,argparse,命令行,参数
argparse 是 python 的一个命令行解析包,可根据需要编写高可读性的程序。
网上的许多教程较为冗长和散漫,没有达到精练好掌握的目的,本文针对项目中对 argparse 的用法,用实例对各个参数进行讲解,力求达到让读者秒懂的目的。
先上代码
import argparse
if __name__ == '__main__':
# 创建命令行解析器句柄,并自定义描述信息
parser = argparse.ArgumentParser(description='test the argparse package')
# 定义必选参数 positionArg
parser.add_argument('positionArg')
# 定义可选参数verbosity1
parser.add_argument('--verbosity1', '-v1', help='test the optional arguments')
# 定义可选参数verbosity2,并通过设定store_true表示该选项不需要接收参数,若不设action,则默认是需要接收参数的,否则报错
parser.add_argument('--verbosity2', '-v2', action='store_true', help='test the action arg')
# 指定参数类型(默认是 str)
parser.add_argument('x', type=int, help='test the type')
# 设置参数的可选范围
parser.add_argument('--verbosity3', '-v3', type=str, choices=['one', 'two', 'three', 'four'], help='test choices')
# 设置参数默认值
parser.add_argument('--verbosity4', '-v4', type=str, choices=['one', 'two', 'three'], default=1, help='test default value')
args = parser.parse_args() # 返回一个命名空间
print(args)
params = vars(args) # 返回 args 的属性和属性值的字典
for k, v in params.items():
print(k, v)
代码示例中写上了详细的注释,观看注释也可了解各大概。
下面针对一些特殊点再作详述
action='store_true'
表示该选项不需要接收参数,直接设定该参数为 true,当然,如果不指定 -v2, 则该参数就是 false。
但如果把 action=’store_true’ 去掉,就必须给 -v2 指定一个值。
程序用法帮助
比如该程序命名为 testArg.py,则可在命令行执行如下语句:
python3 testArg.py -h
运行得到函数的用法帮助文档:
完整的命令行参数执行命令和效果如下:
当然,参数的值也可写成赋值形式,如下所示(等同于上图中的命令):
python3 testArg.py hehe -v1=verb1 --verbosity2 1 -v3=one -v4=two
中间打印的 Namespace 为参数解析返回的命名空间。
如此,结合实例,非常简洁易懂,分享之。当然还有一些其他的用法,此处只列出了一些最常用的用法,在使用中如有需要,可自行查阅文档。
来源:https://blog.csdn.net/huangfei711/article/details/80325946


猜你喜欢
- 一、简单使用入门小案例import logginglogging.basicConfig(level=logging.DEBUG, &nbs
- XML 的使用越来越广泛,但是很多 XML 的结构并不好。即便结构良好,也常常设计得很糟,使得处理和维护非常困难。而大部分用于 XML 的基
- 引言“ 这是MySQL系列笔记的第十一篇,文章内容均为本人通过实践及查阅资料相关整理所得,可用作新手入门指南,
- 目录什么是预处理?那么预处理有啥好处?Go实现 MySQL 的事务sqlx使用gin + mysql + rest full api&nbs
- 查询7天连续登陆用户这个问题很经典,解决方法也有很多,这里我讲一下笔者的方法,希望对大家有帮助。具体思路:1、因为每天用户登录次数可能不止一
- 如何用通过Web访问OLAP数据? <% Set Conn=Server.CreateObject(″A
- 高阶函数是在Python中一个非常有用的功能函数,所谓高阶函数就是一个函数可以用来接收另一个函数作为参数,这样的函数叫做高阶函数。pytho
- 1. 下载可以去清华源下载最新版的anaconda包,这比在官方网站下载快得多,地址如下:https://mirrors.tuna.tsin
- 本文实例讲述了Python实现的旋转数组功能算法。分享给大家供大家参考,具体如下:一、题目给定一个数组,将数组中的元素向右移动 k 个位置,
- 一、安装在 cmd 命令中输入: pip install pygame即可安装成功了二、第一个代码实例代码快里面有注释,想必大家都可以看懂的
- 完整的示例代码如下: 代码如下:<%@LANGUAGE="JAVASCRIPT" CODEPAGE="6
- python中的多线程其实并不是真正的多线程,如果想要充分地使用多核CPU资源,在python中大部分情况需要使用多进程。python提供了
- 由于go对私有gitlab的仓库支持不好,得使用下面这些步骤设置git使用 ssh协议git config --global url.&qu
- 下载安装NodeJS后,在自己选择的路径下会有如下的文件:默认情况下NodeJS安装会同时安装npm(模块管理器:用于管理用户require
- 概述这是一个简单的python爬虫程序,仅用作技术学习与交流,主要是通过一个简单的实际案例来对网络爬虫有个基础的认识。什么是网络爬虫简单的讲
- 下面通过代码给大家介绍python打包压缩指定目录下的指定类型文件,具体代码如下所示:import osimport datetimeimp
- 环境 python3.0工具 pycharm谷歌插件chromedriver程序执行方法from selenium import webdr
- 为了建立冗余较小、结构合理的数据库,设计数据库时必须遵循一定的规则。在关系型数据库中这种规则就称为范式。范式是符合某一种设计要求的总结。要想
- 最近,由于工作需要统计一下文本文档中的各种不同类字符的数量。将txt文本文档中包含的的中文、英文、数字等字符数量进行统计。这当然可以使用py
- 先给大家介绍下python制作定时发送信息脚本,内容如下所示:文章中提到的菜单是右下角这个需求我们需要做到打开微信获取输入框焦点及输入思路1