当前位置: 首页 > news >正文

【Python实用标准库】argparser使用教程

argparser使用教程

  • 1.介绍
  • 2.基本使用
  • 3.add_argument() 参数设置
  • 4.参考

1.介绍

(一)argparse 模块是 Python 内置的用于命令项选项参数解析的模块,其用主要在两个方面:

  1. 一方面在python文件中可以将算法参数集中放到一起,对参数进行调整时能够找到文件中参数集中的位置,(主要是调整默认参数);
  2. 另一方面在利用python终端进行调用时,不想进入python文件内部对默认参数调整,可以先查看文件参数的使用,然后在终端进行指定修改,然后传递参数进入python文件内部,对其对应参数进行设置;

(二)与argparse在终端设置参数然后传递进入python文件内部相同功能的还有Python内置:sys.argv,但是与argparse传递参数时需要指定参数名,而sys.argv则按照终端参数的顺序传入到sys.argv列表,在python内部则根据列表顺序进行调用。

2.基本使用

argparse定义四个步骤

  1. 导入argparse包 ——import argparse
  2. 创建一个命令行解析器对象 ——创建 ArgumentParser() 对象
  3. 给解析器添加命令行参数 ——调用add_argument() 方法添加参数
  4. 解析命令行的参数 ——使用 parse_args() 解析添加的参数

(1)代码示例如下python文件:argparser.py

# 1.导入argparse库
import argparse# 2. 定义命令行解析器对象
parser = argparse.ArgumentParser(description='Use of argparse')# 3. 添加命令行参数
parser.add_argument('--model',type=str,default='model name',help='input model')
parser.add_argument('--lr',type=float,default=0.01,help='learning rate')# 4. 从命令行中结构化解析参数
args = parser.parse_args()# 5.输出或调用解析参数
print(args)# 打印全部参数信息
print('show {}  {}'.format(args.model, args.lr))

(2)终端查看使用

python argparser.py -h  #可以查看设置的参数使用说明

在这里插入图片描述
(3)终端运行时修改默认参数

python argparser.py --model resnet50

(4) sys.argv的命令行参数
sys.argv的使用

  1. 当Python脚本被执行时,命令行参数被传递给脚本,并以列表形式存储在 sys.argv 列表中,通俗将就是:将命令终端python文件名+终端调用参数名加入到sys.argv之中,这样可以将终端输入的参数传递到python文件内部中
  2. 在argparser.py文件内部可以设置parm1=sys.argv[0],即设置的param1的变量值为终端传递的argparser.py的路径名
  3. sys.argv在少量参数时使用,在文件含有大量参数时推荐使用argparse
python python argparser.py --model resnet50 #就会把argparser.py --model resnet50传递进入sys.argv,形成如下列表

在这里插入图片描述

sys.argv是一个列表,在python内部,sys.argv[0]表示python文件名,sys.argv[1]=‘–model’,sys.argv[2]=‘resnet50’

3.add_argument() 参数设置

名称说明备注
name命令行参数的名字默认是选项字符串去掉前缀后的结果
action参数在命令行中出现时应该采取的动作默认store_true/store_false
default指定参数的默认值
type指定命令行参数应该被转换成的类型
choices指定参数可接受的值的一个容器只能从可接受值里取值
required指定参数是否必须提供
help指定参数的帮助信息
"""1.基本用法:参数名称model,参数输入值被转化为字符串,required表示参数为必须值(不为可选),
default表示默认为resnet,help为该参数的帮助信息"""
parser.add_argument(name='--model',type=str,required=True,default='resnet',help='input model name')"""2.action的用法"""
parser.add_argument('--verbose', action='store_true', help='increase output verbosity')
"""运行程序并加上--verbose选项(例如python script.py --verbose),args.verbose的值将会是True""""""3.choices"""
parser.add_argument('--food', choices=['apple', 'banana', 'cherry'], help='choose a fruit')
"""--food选项指定一个不是'apple'、'banana'或'cherry'的值(例如python script.py --food orange),argparse将会显示一个错误消息,说明提供的值不是有效的选择。"""

4.参考

(1)参考教程:argparse使用

相关文章:

【Python实用标准库】argparser使用教程

argparser使用教程 1.介绍2.基本使用3.add_argument() 参数设置4.参考 1.介绍 (一)argparse 模块是 Python 内置的用于命令项选项与参数解析的模块,其用主要在两个方面: 一方面在python文件中可以将算法参数集中放到一起&#x…...

伦敦金与纸黄金有什么区别?怎么选?

伦敦金与纸黄金都是与黄金相关的投资品种,近期黄金市场的上涨吸引了投资者的关注,那投资者想开户入场成为黄金投资者应该选择纸黄金还是伦敦金呢?两者有何区别呢?下面我们就来讨论一下。 伦敦金是一种起源于伦敦的标准化黄金交易合…...

化工企业能源在线监测管理系统,智能节能助力生产

化工企业能源消耗量极大,其节能的空间也相对较大,所以需要控制能耗强度,保持更高的能源利用率。 化工企业能源消耗现状 1、能源管理方面 计量能源消耗时,计量器具存在问题,未能对能耗情况实施完全计量,有…...

C/C++ 一些使用网站收集...

C/C 标准 各种语言协议标准文档 open-std.org 网站 C语言标准文档 open-std.org C基金会网站 C/C 标准库网站 c/c 标准库 cplusplus.com 网站 c/c标准库 cppreference.com 网站 C Core Guidelines【isocpp.org】 C/C 发展 C现有状态及未来规划【isocpp.org】...

2024可以搜索夸克网盘的方法

截止2024可以搜索夸克网盘的方法 6miu盘搜 6miu盘搜是一个强大的网盘搜索工具,它汇集了多个网盘平台的资源,包括百度网盘、163网盘、金山快盘等,可以帮助用户快速找到所需的资料。6miu盘搜的一个显著特点是它的资源更新速度快,可以搜索到最新的资源。此外,6miu盘搜的界面清爽…...

2024年最新阿里云服务器价格表_CPU内存+磁盘+带宽价格

2024年阿里云服务器租用费用,云服务器ECS经济型e实例2核2G、3M固定带宽99元一年,轻量应用服务器2核2G3M带宽轻量服务器一年61元,ECS u1服务器2核4G5M固定带宽199元一年,2核4G4M带宽轻量服务器一年165元12个月,2核4G服务…...

300.【华为OD机试】跳房子I(时间字符串排序—JavaPythonC++JS实现)

本文收录于专栏:算法之翼 本专栏所有题目均包含优质解题思路,高质量解题代码(Java&Python&C++&JS分别实现),详细代码讲解,助你深入学习,深度掌握! 文章目录 一. 题目二.解题思路三.题解代码Python题解代码JAVA题解代码C/C++题解代码JS题解代码四.代码讲解(Ja…...

linux ln Linux 系统中用于创建链接(link)的命令

linux 命令基础汇总 命令&基础描述地址linux curl命令行直接发送 http 请求Linux curl 类似 postman 直接发送 get/post 请求linux ln创建链接(link)的命令创建链接(link)的命令linux linklinux 软链接介绍linux 软链接介绍l…...

mysql按照查询条件进行排序和统计一个字段中每个不同数值出现的次数

1.比如学生表 如何显示查询结果的顺序根据放置的顺序查询 <select id"selectNames" resultType"Student">select * from student_table where 11<if test"studentList! null">and name in<foreach item"item" ind…...

深度学习基础知识

本文内容来自https://zhuanlan.zhihu.com/p/106763782 此文章是用于学习上述链接&#xff0c;方便自己理解的笔记 1.深度学习的网络结构 深度学习是神经网络的一种特殊形式&#xff0c;典型的神经网络如下图所示。 神经元&#xff1a;表示输入、中间数值、输出数值点。例如&…...

UE4_旋转节点总结一

一、Roll、Pitch、Yaw Roll 围绕X轴旋转 飞机的翻滚角 Pitch 围绕Y轴旋转 飞机的俯仰角 Yaw 围绕Z轴旋转 飞机的航向角 二、Get Forward Vector理解 测试&#xff1a; 运行&#xff1a; 三、Get Actor Rotation理解 运行效果&#xff1a; 拆分旋转体测试一&a…...

Dockerfile将jar部署成docker容器

将jar包copy到linux&#xff0c;新建Dockerfile文件 -rw-r--r-- 1 root root 52209844 Mar 25 22:55 data-sharing-0.0.1-SNAPSHOT.jar -rwxrwxrwx 1 root root 227 Mar 25 22:57 Dockerfile [rootlocalhost mnt]# pwd /mntDockerfile内容 # 指定基础镜像 FROM java:8-a…...

Android14音频进阶:AudioFlinger向HAL输出数据过程(六十四)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏:多媒体系统工程师系列【原创干货持续更新中……】🚀 人生格言: 人生从来没有捷径,只…...

docker构建镜像命令

编写dockerfile文件 例子1; FROM oraclelinux:7-slim ENV release19 ENV update13 RUN curl -o /etc/yum.repos.d/public-yum-ol7.repo https://yum.oracle.com/public-yum-ol7.repo && \yum-config-manager --enable ol7_oracle_instantclient && \yum in…...

每日一题——LeetCode1720.解码异或后的数组

方法一 异或运算的性质 encoded[i−1]arr[i−1]⊕arr[i] 在等式两边同时异或arr[i−1] 由于&#xff1a; 一个数异或它自己&#xff0c;结果总是0。 0异或任何数&#xff0c;结果都是那个数本身。 所以等式可以转化为&#xff1a; arr[i]arr[i−1]⊕encoded[i−1] 由于 a…...

Day47:WEB攻防-PHP应用文件上传函数缺陷条件竞争二次渲染黑白名单JS绕过

目录 文件上传与测试环境安装 1、前端 JS 2、.htaccess(apache独有的配置文件) 3、MIME类型 4、文件头判断 5、黑名单-过滤不严 6、黑名单-过滤不严 7、低版本GET-%00截断 8、低版本POST-%00截断 9、黑名单-过滤不严 10、逻辑不严-条件竞争 11、二次渲染 12、函数…...

【Android】美团组件化路由框架WMRouter源码解析

前言 Android无论App开发还是SDK开发&#xff0c;都绕不开组件化&#xff0c;组件化要解决的最大的问题就是组件之间的通信&#xff0c;即路由框架。国内使用最多的两个路由框架一个是阿里的ARouter&#xff0c;另一个是美团的WMRouter。这两个路由框架功能都很强大&#xff0…...

python知识点总结(九)

python知识点总结九 1、TCP中socket的实现代码实现TCP协议a、服务端b、客户端&#xff1a; 2、写装饰器&#xff0c;限制函数被执行的频率&#xff0c;如10秒一次3、请实现一个装饰器&#xff0c;通过一次调用函数重复执行5次4、写一个登录装饰器对一下函数进行装饰&#xff0c…...

浅谈Linux中的软锁定(soft lockup)和硬件监视器(watchdog)

目录 1. 问题所示2. 基本知识3. 进阶知识 1. 问题所示 跑深度学习的时候遇到卡顿卡机 hostname kernel:watchdog BUG:soft lockup - CPU#16 stuck for 130s![P2PMain-72:4030570]界面如下所示&#xff1a; 大概意思是&#xff1a; watchdog_thresh参数是硬件监视器的超时阈值…...

数据库的四个特性?MySQL是如何实现的?

首先MySQL中&#xff0c;数据库的四个特性分为&#xff1a; 原子性一致性隔离性持久性 也就是我们常说的ACID。 那么这四个特性数据库是如何实现的呢&#xff1f; 持久性---> redo log&#xff1a; redo log&#xff08;重做日志&#xff09;&#xff1a; redolog本身是…...

智能客服VS语音转写:不同场景下语音识别评估指标的选择指南

智能客服与语音转写&#xff1a;业务场景驱动的语音识别评估指标决策框架 当企业考虑部署语音识别系统时&#xff0c;技术团队常会抛出一堆专业术语&#xff1a;WER 15%、CER 8%、SER 22%...但对产品经理和解决方案架构师而言&#xff0c;这些数字背后意味着什么&#xff1f;选…...

实战演练企业级mysql环境搭建,快马平台生成电商项目配置全流程

今天想和大家分享一个企业级MySQL环境搭建的实战经验。最近在帮朋友搭建一个电商网站的后台数据库&#xff0c;正好用到了InsCode(快马)平台来快速生成配置方案&#xff0c;整个过程非常顺畅。 1. 准备工作与环境选择 首先需要明确的是&#xff0c;企业级MySQL部署和本地开发…...

GDBFrontend安全部署指南:保护调试会话的5个最佳实践

GDBFrontend安全部署指南&#xff1a;保护调试会话的5个最佳实践 【免费下载链接】gdb-frontend ☕ GDBFrontend is an easy, flexible and extensible gui debugger. Try it on https://debugme.dev 项目地址: https://gitcode.com/gh_mirrors/gd/gdb-frontend GDBFron…...

如何免越狱定制iPhone界面:Cowabunga Lite完整使用指南

如何免越狱定制iPhone界面&#xff1a;Cowabunga Lite完整使用指南 【免费下载链接】CowabungaLite iOS 15 Customization Toolbox 项目地址: https://gitcode.com/gh_mirrors/co/CowabungaLite Cowabunga Lite是一款专为iOS 15设备设计的系统定制工具&#xff0c;让普通…...

Ostrakon-VL扫描终端真实案例:烘焙坊用AI识别原料保质期与库存预警

Ostrakon-VL扫描终端真实案例&#xff1a;烘焙坊用AI识别原料保质期与库存预警 1. 项目背景与痛点 在烘焙行业&#xff0c;原料管理一直是个令人头疼的问题。传统的手工记录方式存在以下典型问题&#xff1a; 保质期难追踪&#xff1a;面粉、奶油等原料包装上的日期标识五花…...

SAM 3图像视频分割实战:上传图片视频,输入英文名称一键搞定

SAM 3图像视频分割实战&#xff1a;上传图片视频&#xff0c;输入英文名称一键搞定 1. 引言&#xff1a;认识SAM 3的强大能力 想象一下&#xff0c;你有一张复杂的街景照片&#xff0c;想要单独提取其中的行人、车辆或建筑物。传统方法可能需要复杂的PS操作或专业标注工具&am…...

从单核到16核:用程序员思维图解CPU参数(附性能测试代码)

从单核到16核&#xff1a;用程序员思维图解CPU参数&#xff08;附性能测试代码&#xff09; 在开发高性能应用时&#xff0c;CPU的选择往往直接决定了程序的执行效率。但面对琳琅满目的参数——主频、核心数、线程数、缓存大小、架构代际——开发者该如何做出明智决策&#xff…...

【IEEE TNNLS 2025】赋予大模型“跨院行医”的能力:基于全局与局部提示的医学图像泛化框架 (GLP) 解析

在医学图像分割的临床落地中&#xff0c;一个长期存在的痛点是**“领域偏移 (Domain Shift)”**。一个在A医院&#xff08;源域&#xff09;表现完美的深度学习模型&#xff0c;当部署到使用不同成像设备、不同扫描参数的B医院&#xff08;未知目标域&#xff09;时&#xff0c…...

YEDDA中文文本标注工具:零基础快速上手的高效标注解决方案

YEDDA中文文本标注工具&#xff1a;零基础快速上手的高效标注解决方案 【免费下载链接】yedda-py3 项目地址: https://gitcode.com/gh_mirrors/ye/yedda-py3 在人工智能和自然语言处理领域&#xff0c;数据标注是构建高质量模型的基础。YEDDA中文文本标注工具是一款专为…...

从MATLAB到C++:手把手教你将鱼眼相机标定结果(Scaramuzza模型)部署到OpenCV项目

从MATLAB到C&#xff1a;手把手教你将鱼眼相机标定结果&#xff08;Scaramuzza模型&#xff09;部署到OpenCV项目 鱼眼相机因其超广视角在机器人导航、虚拟现实等领域应用广泛。但MATLAB标定结果如何无缝迁移到C工程环境&#xff1f;本文将彻底解决这个痛点&#xff0c;带您完成…...