Python中命令行参数argparse模块的使用
作者:陌北v1 发布时间:2023-11-15 09:25:40
标签:Python,argparse,模块,命令行
argparse 模块是Python内置的用于命令项选项与参数解析的模块,可以轻松编写友好的命令行接口,能够帮助程序员为模型定义参数。
传入一个参数
add_argument()中的type
参数表示传入参数的数据类型
import argparse
#定义命令行解析器对象
parser = argparse.ArgumentParser(description='参数说明')
#添加命令行参数
parser.add_argument('name',type=str,help='用户名')
#从命令行中结构化解析参数
args = parser.parse_args()
print(args.url)
python test.py 张三
结果:
张三
位置参数
按先后顺序传入参数
import argparse
parser = argparse.ArgumentParser(description='参数说明')
parser.add_argument('param1', type=str, help='参数1')
parser.add_argument('param2', type=str, help='参数2')
args = parser.parse_args()
print(args.param1,args.param2)
python test.py a1 a2
结果:
a1 a2
可选参数
可选参数类似于关键词传参,但需要在关键词前加–
import argparse
parser = argparse.ArgumentParser(description='参数说明')
parser.add_argument('--param1', type=str, help='参数1')
parser.add_argument('--param2', type=str, help='参数2')
args = parser.parse_args()
print(args.param1,args.param2)
python test.py --param1=a1
结果:
a1 None
名字可以写很多个,一般写两个,一个短参数,一个长参数
import argparse
parser = argparse.ArgumentParser(description='参数说明')
parser.add_argument('-f','--file', type=str, help='参数1')
args = parser.parse_args()
print(args.file)
python test.py -f=log.txt
结果:
log.txt
默认参数
add_argument()中的default
参数可以为对某个参数设置默认值,当命令行没有传入该参数的值的时候,参数会设为默认值
import argparse
parser = argparse.ArgumentParser(description='参数说明')
parser.add_argument('--param1', type=str, default='hello', help='参数1')
parser.add_argument('--param2', type=str, default='hello1', help='参数2')
args = parser.parse_args()
print(args.param1,args.param2)
python test.py --param1=a1
结果:
a1 hello1
必需参数
add_argument
中的required
参数可以设置某个参数是否为必需
import argparse
parser = argparse.ArgumentParser(description='参数说明')
parser.add_argument('--param1', type=str, required=True, default='', help='参数1')
parser.add_argument('--param2', type=str, default='hello1', help='参数2')
args = parser.parse_args()
print(args.param1,args.param2)
常用参数解释:
default: 代表如果该参数不输入,则会默认使用该值。
type: 表示传入参数的数据类型,例如:
str
,int
。required: 如果required=True则为必须项。
help: 参数的帮助信息。
来源:https://blog.csdn.net/qq233325332/article/details/128815774
0
投稿
猜你喜欢
- 用户管理是绝大部分Web网站都需要解决的问题。用户管理涉及到用户注册和登录。用户注册相对简单,我们可以先通过API把用户注册这个功能实现了:
- 前言pandas 默认整合XlsxWriter驱动,自动化处理excel操作,提供公式、设置单元格格式、可视化分析图片等操作XlsxWrit
- 本文实例讲述了Python时间和字符串转换操作。分享给大家供大家参考,具体如下:例子:#!/usr/bin/python# -*- codi
- 本文实例讲述了Laravel框架路由管理。分享给大家供大家参考,具体如下:路由中输出视图Route::get('/', fu
- 题目:1. 利用拉格朗日乘子法#导入sympy包,用于求导,方程组求解等等from sympy import * #设置变量x1 = sym
- ObjectUtil组件其实就是单例模式的最好范例,声明调用各个组件的时候,用ObjectUtil调用,可以有效的防止调用过多的类而导致错误
- 我们需要开始思考如何将文本集合转化为可量化的东西。最简单的方法是考虑词频。我将尽量尝试不使用NLTK和Scikits-Learn包。我们首先
- 一、利用外键约束更新MySQL中的数据现在,最流行的开源关系型数据库管理系统非MySQL莫属,而MySQL又支持多个存储引擎,其中默认的也是
- ORCLE数据库备份策略 1.通过使用exp和imp命令实现数据库导出和导入。 有三种模式: a. 用户模式: 导出(导入)用户所有对象以及
- 之前我写过一篇文章介绍如何实现中国站长站的文章干扰码功能:《谈中国站长站的文章干扰码实现方法》 首发在asp之家。如果大家有兴趣可以先看看。
- 前言本来准备讲解nginx和apache的日志的,但是个人不太推荐apache(纯属个人爱好),这里就不介绍apache的日志了。作为一名程
- 现代浏览器可以基于RFC 2397标准使用base64把图片进行编码,然后输出类似data:image/png;base64,iVBORw0
- SQLite数据库使用单个磁盘文件,并且不需要像Oracle、MSSQL、MySQL等数据库管理系统那样启动服务,使用非常灵活方便。但是SQ
- 之前用 copy 不多,本以为它是个很方便的函数,没想到在做练习题时竟还是被它坑了。是我对他期望太多了。func copy(dst, src
- 在某些编程语言中,例如 C/C++、C#、PHP、Java、JavaScript 等等,do-while 是一种基本的循环结构。它的核心语义
- 有个文本文件,需要替换里面的一个词,用python来完成,我是这样写的:def modify_text(): with open('
- 一、内置函数下面简单介绍几个:1.abs() 求绝对值2.all() 如果 iterable 的所有元素都为真(或者如果可迭代为空),则返回
- 字典排序在程序中使用字典进行数据信息统计时,由于字典是无序的所以打印字典时内容也是无序的。因此,为了使统计得到的结果更方便查看需要进行排序。
- Python import的搜索路径import的搜索路径为:搜索「内置模块」(built-in module)搜索 sys.path 中的
- 上python课程时需要设计一个系统,想着为系统加一个启动动画,所以做成了图片加进度条的形式。本文旨在用python实现无边框的进度条,并在