python argparse的使用步骤(全网最全)

目录
  • 一、前言
  • 二、关于argparse用法常用框架
    • 1.获取参数列表
    • 2.获取帮助信息
    • 3.命令行修改参数
    • 4.'_'与"__"的使用
    • 5.type的使用
    • 6.required:用来表示这个参数是否需要提供
    • 7.choices选择参数
  • 参考博客:

一、前言

在学习深度学习会发现都比较爱用python这个argparse,虽然基本能理解,但没有仔细自己动手去写,因此这里写下来作为自己本人的学习笔记

argparse是python的一个命令行参数解析包,在代码需要频繁修改参数时,方便使用,主要用法就是在命令行输入自己想要修改的参数。

二、关于argparse用法常用框架

import argparse

def get_parser():

    # argparse.ArgumentParser生成argparse对象 description为描述信息,当在命令行输入需要显示帮助信息时,会显示

    parser = argparse.ArgumentParser(description="pytorch unet training")

    # 路径参数设置 help为参数的帮助信息

    parser.add_argument("--data_path", default="./", help="DRIVE root")

    # 预测类别数量 type如果不指定需要输入的是str类型

    parser.add_argument("--num_classes", default=1, type=int)

    # 指定设备使用

    parser.add_argument("--device", default="cuda", help="training device")

    # 指定batch size大小 "-b", "--batch_size"表示两个都可以在命令行使用

    parser.add_argument("-b", "--batch_size", default=4, type=int)

    return parser

if __name__ =='__main__':

    parser = get_parser()

    args = parser.parse_args()

    print(args)

如上get_parser()为本文会介绍的一些使用方法,这个python文件名为python_argparse_test1.py,其中

parser = argparse.ArgumentParser(description="pytorch unet training")用来创建parser对象

add_argument()用来增加参数

args = parser.parse_args()中parse_args()获取解析的参数

1.获取参数列表

当命令行输入python python_argparse_test1.py时,打印args获取到的参数得到:

Namespace(batch_size=4, data_path='./', device='cuda', num_classes=1)

表示这个参数解析器解析到的参数列表

2.获取帮助信息

输入python python_argparse_test1.py -h或者python python_argparse_test1.py --help显示信息,其中usage显示了它的用法,pytorch unet training为创建对象时的description,再下面是各个参数信息与用法

3.命令行修改参数

import argparse

def get_parser():

    # argparse.ArgumentParser生成argparse对象 description为描述信息,当在命令行输入需要显示帮助信息时,会显示

    parser = argparse.ArgumentParser(description="pytorch unet training")

    # 路径参数设置 help为参数的帮助信息 default为默认参数

    parser.add_argument("--data_path", default="./", help="DRIVE root")

    # 预测类别数量 type如果不指定需要输入的是str类型

    parser.add_argument("--num_classes", default=1, type=int)

    # 指定设备使用

    parser.add_argument("--device", default="cuda", help="training device")

    # 指定batch size大小 "-b", "--batch_size"表示两个都可以在命令行使用

    parser.add_argument("-b", "--batch_size", default=4, type=int)

    return parser

if __name__ =='__main__':

    parser = get_parser()

    args = parser.parse_args()

    print("data_path: ",args.data_path)

    print("num_classes: ", args.num_classes)

命令行输入:python python_argparse_test1.py --data_path Desktop --num_classer 4,得到结果如下:

data_path:  Desktop

num_classes:  4

可以看到通过命令行确实修改了参数

4.'_'与"__"的使用

if __name__ =='__main__':

    parser = get_parser()

    args = parser.parse_args()

    print("-b: ",args.b)

    print("--batch_size: ", args.batch_size)

命令行输入python python_argparse_test1.py -b 10 --batch_size 20,这时会报错:

这是因为当'_'和'__'同时存在时,系统默认后者为参数名

把上述代码改为:

if __name__ =='__main__':

    parser = get_parser()

    args = parser.parse_args()

    print("--batch_size: ",args.batch_size)

但命令行不受影响,继续执行命令 python python_argparse_test1.py -b 10得到:

--batch_size:  10

5.type的使用

type会把输入的命令行字符强制转化为type的类型

if __name__ =='__main__':

    parser = get_parser()

    args = parser.parse_args()

    print("--batch_size type: ",type(args.batch_size))

命令行输入:python python_argparse_test1.py --batch_size  '10'得到:

--batch_size type:  <class 'int'>

6.required:用来表示这个参数是否需要提供

parser.add_argument("--num_classes", default=1, type=int, required=True)

如果输入命令python python_argparse_test1.py

这将会报错提示确实需要的参数

python_argparse_test1.py: error: the following arguments are required: --num_classes

7.choices选择参数

parser.add_argument('-arch', required=True, choices=['alexnet', 'vgg'])

如果运行命令:python python_argparse_test1.py -arch cnn

这将会报错

python_argparse_test1.py: error: argument -arch: invalid choice: 'cnn' (choose from 'alexnet', 'vgg')

参考博客:

argparse简要用法总结 | Yunfeng's Simple Blog (vra.github.io)

argparse基本用法

argparse.ArgumentParser()用法解析

到此这篇关于python argparse的使用步骤(全网最全)的文章就介绍到这了,更多相关python argparse使用内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Python的argparse库使用详解

    argparse是python标准库里面用来处理命令行参数的库 命令行参数分为位置参数和选项参数: 位置参数就是程序根据该参数出现的位置来确定的 如:[root@openstack_1 /]# ls root/    #其中root/是位置参数 选项参数是应用程序已经提前定义好的参数,不是随意指定的 如:[root@openstack_1 /]# ls -l    # -l 就是ls命令里的一个选项参数. 基本使用 import argparse # 创建解析器 parser = argpars

  • Python命令行解析器argparse详解

    目录 第1章 argparse简介 1.1 解析 1.2 argparse定义三步骤 1.3  代码示例 第2章 参数详解 2.1 创建一个命令行解析器对象:ArgumentParser() 2.2 为命令行添加参数: add_argument() 方法 2.3 解析命令行的参数:parse_args() 2.4 命令行参数的输入 2.5 命令行参数的使用 总结 第1章 argparse简介 1.1 解析 argparse 模块是 Python 内置的一个用于命令项选项与参数解析的模块,argp

  • Python 命令行解析工具 argparse基本用法

    在工作中,我们经常需要从命令行当中解析出指定的参数,而 Python 也提供了相应的标准库来做这件事情,比如 sys, optparse, getopt, argparse.这里面功能最强大的莫过于 argparse,下面就来看看它用法. import argparse # 使用 argparse 分为以下几步 # 1. 创建命令行解析器对象 parse = argparse.ArgumentParser( description="这是命令行解析器" ) # 2.给解析器添加命令行参

  • python入门:argparse浅析 nargs='+'作用

    我就废话不多说了,大家还是直接看代码吧~ #aaa.py #version 3.5 import os #这句是没用了,不知道为什么markdown在编辑代码时,不加这一句,就不能显示代码高亮[汗] import argparse parser = argparse.ArgumentParser(description='Process some integers...') #初始化一个分析器 #parser.add_argument(中的参数) #__init__(self, option_s

  • python argparse传入布尔参数false不生效的解决

    跑代码时,在命令行给python程序传入bool参数,但无法传入False,无论传入True还是False,程序里面都是True.下面是代码: parser.add_argument("--preprocess", type=bool, default=True, help='run prepare_data or not') 高端解决方案 使用可选参数store_true,将上述代码改为: parse.add_argument("--preprocess", ac

  • Python解析命令行读取参数--argparse模块使用方法

    在多个文件或者不同语言协同的项目中,python脚本经常需要从命令行直接读取参数.万能的python就自带了argprase包使得这一工作变得简单而规范.PS:optparse包是类似的功能,只不过写起来更麻烦一些. 如果脚本很简单或临时使用,没有多个复杂的参数选项,可以直接利用sys.argv将脚本后的参数依次读取(读进来的默认是字符串格式).比如如下名为test.py的脚本: import sys print "Input argument is %s" %(sys.argv[0]

  • python中的argparse基本用法(使用步骤)

    1.argparse是一个python模块,用途是:命令行选项.参数和子命令的解释. 2.使用步骤: 导入argparse模块,并创建解释器 添加所需参数 解析参数 3.用法示例: import argparse # 1.创建解释器 parser = argparse.ArgumentParser(description="可写可不写,只是在命令行参数出现错误的时候,随着错误信息打印出来.") # 2.添加需要的参数 parser.add_argument('-gf', '--girl

  • python argparser的具体使用

    一.正常运行: 咱们随便写个文件: # test.py import argparse ap = argparse.ArgumentParser() ap.add_argument('-i', '--image', help='传入图片文件') args = vars(ap.parse_args()) print(args) 咱们运行一下: python test.py --image './test.png' python test.py -i './test.png' 没问题吧: {'ima

  • python命令行参数argparse模块基本用法详解

    目录 一.传入一个参数 二.传入多个参数 三.改变数据类型 四.可选参数(关键字参数) 五.参数默认值 六.参数解析 补充:python中的argparse基本用法 argparse 是python自带的命令行参数解析包,可以用来方便地读取命令行参数. 一.传入一个参数 import argparse # 创建一个命令行参数解析器 parser = argparse.ArgumentParser(description='命令行中传入一个数字') # 往解析器里面添加参数 parser.add_

  • python argparse的使用步骤(全网最全)

    目录 一.前言 二.关于argparse用法常用框架 1.获取参数列表 2.获取帮助信息 3.命令行修改参数 4.'_'与"__"的使用 5.type的使用 6.required:用来表示这个参数是否需要提供 7.choices选择参数 参考博客: 一.前言 在学习深度学习会发现都比较爱用python这个argparse,虽然基本能理解,但没有仔细自己动手去写,因此这里写下来作为自己本人的学习笔记 argparse是python的一个命令行参数解析包,在代码需要频繁修改参数时,方便使用

  • 全网最全python库selenium自动化使用详细教程

    一.安装selenium pip install Selenium 二.初始化浏览器 Chrome 是初始化谷歌浏览器 Firefox 是初始化火狐浏览器 Edge 是初始化IE浏览器 PhantomJS 是一个无界面浏览器. from selenium import webdriver driver = webdriver.Chrome() 三.设置浏览器大小 maximize_window 最大化窗口 set_window_size 自定义窗口大小 from selenium import

  • Python argparse库的基本使用步骤

    目录 基本用法 1.int支持 2.str支持 3.float支持 4.bool支持 5.数组支持 完整调用 argparse库是python下的一个命令行参数管理库,支持int.str.float.bool.数组等5种基本数据类型.在解析命令行参数时还支持默认值.此外,还支持修改命令行参数,在代码中增加命令行参数等操作.通过argparse库,可以实现参数的简易管理,控制代码执行中的一些流程或参数值. 基本用法 1.int支持 argparse的写法 ,class_nums的默认值为7 par

  • Python argparse模块应用实例解析

    这篇文章主要介绍了Python argparse模块应用实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 简介 argparse是python用于解析命令行参数和选项的标准模块.argparse模块的作用是用于解析命令行参数. 使用步骤 1.首先导入该模块 2.然后创建一个解析对象 3.然后向该对象中添加你要关注的命令行参数和选项,每一个add_argument方法对应一个你要关注的参数或选项 4.最后调用parse_args()方法进行

  • Python argparse模块使用方法解析

    这篇文章主要介绍了Python argparse模块使用方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 1. 说明 argparse 模块是python 用于解析命令行参数和选项的标准模块. 程序定义它需要的参数,然后 argparse 模块将弄清如何从 sys.argv 解析出那些参数. argparse 模块还会自动生成帮助和使用手册,并在用户给程序传入无效参数时报出错误信息. 2. 使用流程 使用argparse 模块配置命令行参

  • Python实现智慧校园自动评教全新版

    前言 因为前面的文章中已经涉及到了登录智慧校园的验证码处理问题,所以本文将略过此过程.如登录时遇到验证码的情况,请参考此文.其实第一次使用有验证码的话,可以在浏览器先登录一次,然后再使用python代码模拟登录,验证码就没了.因为CQCET智慧校园验证码弹出是有限定条件的! 一.准备工作 导包 import json import requests import uuid from fake_useragent import UserAgent # 随机生成UserAgent 生成uuid和UA

  • MySQL8.0.26的安装与简化教程(全网最全)

    目录 1.MySQL下载 1.1下载 1.2安装 1.MySQL下载 1.1下载 MySQL8.0.26安装与卸载的完整步骤记录 MySQL关是一种关系数据库管理系统,所使用的 SQL 语言是用于访问数据库的最常用的标准化语言,其特点为体积小.速度快.总体拥有成本低,尤其是开放源码这一特点,在 Web应用方面 MySQL 是最好的 RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一. 本文主要讲述压缩版,因为安装不太方便,但是

  • 全网最全最细的jmeter接口测试教程以及接口测试流程(入门教程)

    目录 一.Jmeter简介 二.Jmeter安装 三.设置Jmeter语言为中文环境 四.Jmeter主要元件 五.Jmeter元件的作用域和执行顺序 六.Jmeter进行接口测试流程 七.Jmeter进行接口测试流程步骤详解 八.Jmeter接口测试必定用到的扩展阅读 九.总结 一.Jmeter简介 Jmeter是由Apache公司开发的一个纯Java的开源项目,即可以用于做接口测试也可以用于做性能测试. Jmeter具备高移植性,可以实现跨平台运行. Jmeter可以实现分布式负载. Jme

  • Python argparse 解析命令行参数模块详情

    目录 一.预备知识 1.安装 2.使用的一般步骤 二.实操笔记 1.函数详解 1.1ArgumentParser 1.2add_argument 2.调用实例 一.预备知识 argparse是python用于解析命令行参数和选项的标准模块,用于代替已经过时的optparse模块.argparse模块的作用是用于解析命令行参数. 1.安装 argsparse是python的命令行解析的标准模块,内置于python,不需要安装.使用的时候直接: import argparse 2.使用的一般步骤 这

  • 全网最全SpringBoot集成swagger的详细教程

    目录 一. 接口文档概述 二. SpringBoot集成swagger2 2.1 引入依赖 2.2 引入配置 2.3 给Controller 添加注解 2.4 [404]问题解决 2.5 替换UI 三. SpringBoot集成swagger3 四. swaggerUI 拦截器和跨域冲突处理 五. 写在最后 一. 接口文档概述 swagger是当下比较流行的实时接口文文档生成工具.接口文档是当前前后端分离项目中必不可少的工具,在前后端开发之前,后端要先出接口文档,前端根据接口文档来进行项目的开发

随机推荐