Python 中argparse模块的使用

权益双重加码!AI工具免费用+限时加赠 购周边限时加赠Coding Plan Lite,20+主流AI编程工具畅享,进阶之路更顺畅! 阅读详情


正文共495个字,预计阅读时间5分钟。


Python解析命令行读取参数有两种方式:sys.argv和argparse


1、sys.argv


如果脚本很简单或临时使用,没有多个复杂的参数选项,可以直接利用sys.argv将脚本后的参数依次读取(读进来的默认是字符串格式)。


1import sys
2print("输入的参数为:%s" % sys.argv[1])


命令行执行效果:


1>python demo.py 1
2输入的参数为:1


2、argparse


如果参数很多,比较复杂,并且类型不统一,那么argparse可以很好的解决这些问题,下面一个实例解释了argparse的基本使用方法。


 1import argparse
2# description参数可以用于描述脚本的参数作用,默认为空
3parser=argparse.ArgumentParser(description="A description of what the program does")
4parser.add_argument('--toy','-t',action='store_true',help='Use only 50K samples of data')
5 parser.add_argument('--num_epochs',choices=[5,10,20],default=5,type=int,help='Number of epochs.')
6parser.add_argument("--num_layers"type=int, required=True, help="Network depth.")
7
8args=parser.parse_args()
9print(args)
10print(args.toy,args.num_epochs,args.num_layers)


命令行执行效果:


1>python demo.py --num_epochs 10 --num_layers 10
2Namespace(num_epochs=10, num_layers=10, toy=False)
3False 10 10


2.1.基本使用

1parser.add_argument('--toy','-t',action='store_true',help='Use only 50K samples of data')


--toy:为参数名称;
-t:为参数别称;
action='store_true':参数是否使用,如果使用则为True,否则为False。


1>python demo.py -t --num_epochs 10 --num_layers 10
2Namespace(num_epochs=10, num_layers=10, toy=True)
3True 10 10 # 对比和上次执行的区别


help:参数说明


2.2.相关参数

实例1


1parser.add_argument('--num_epochs',choices=[5,10,20],default=5,type=int,help='Number of epochs.')


choices:候选值,输出参数必须在候选值里面,否如会出现下面的结果:


1>python demo.py -t --num_epochs 30 --num_layers 10
2usagedemo.py [-h] [--toy] [--num_epochs {5,10,20}] --num_layers NUM_LAYERS
3demo.pyerrorargument --num_epochsinvalid choice: 30 (choose from 5, 10, 20)


default:默认值,如果不输入参数,则使用该默认值


1>python demo.py -t  --num_layers 10
2Namespace(num_epochs=5, num_layers=10, toy=True)
3True 5 10


int:参数类型


实例2


1parser.add_argument("--num_layers"type=int, required=True, help="Network depth.")


required:为必选参数,如果不输入,则出现以下错误:


1>python demo.py -t --num_epochs 10
2usagedemo.py [-h] [--toy] [--num_epochs {5,10,20}] --num_layers NUM_LAYERS
3demo.pyerrorthe following arguments are required--num_layers


实例3


-h:输出参数使用说明信息


 1>python demo.py -h
2usage: demo.py [-h] [--toy] [--num_epochs {5,10,20}] --num_layers NUM_LAYERS
3
4A description of what the program does
5
6optional arguments:
7-h, --help            show this help message and exit
8--toy, -t             Use only 50K samples of data
9--num_epochs {5,10,20}
10                Number of epochs.
11 --num_layers NUM_LAYERS
12                Network depth.


原文链接:https://www.jianshu.com/p/8f781143c524


查阅更为简洁方便的分类文章以及最新的课程、产品信息,请移步至全新呈现的“LeadAI学院官网”:

www.leadai.org


请关注人工智能LeadAI公众号,查看更多专业文章

640?wx_fmt=jpeg

大家都在看

640.png?

LSTM模型在问答系统中的应用

基于TensorFlow的神经网络解决用户流失概览问题

最全常见算法工程师面试题目整理(一)

最全常见算法工程师面试题目整理(二)

TensorFlow从1到2 | 第三章 深度学习革命的开端:卷积神经网络

装饰器 | Python高级编程

今天不如来复习下Python基础

Pythonargparse模块 argparse模块Python标准库的一部分,旨在简化命令行接口的创建过程。它允许开发者定义程序接受哪些命令行参数,并自动解析这些参数,同时提供帮助信息和错误处理。以下是关于argparse模块更深入的理解,包括其基本用法、特性以及一些高级功能。 阅读详情

相关推荐

train.py: error: the following arguments are required: --dataset的解决办法

train.py: error: the following arguments are required: --dataset的解决办法 最近在跑别人程序的时候老是遇到这种错误: usage: train.py [-h] --dataset DATASET [--batch_size BATCH_SIZE] [--test_batch_size TEST_BATC...

qq_37395293的博客 2万+

YOLOv7目标检测-训练参数1-命令行参数介绍

教程链接:https://www.bilibili.com/video/BV1Ve4y157pC/?p=2&vd_source=759a4e59a9e315c4575a2b4d97dfae44 train.py import argparse import logging import math import os import random import time from copy import deepcopy from pathlib import Path from threading i

ThreeS_tones的博客 1519

Python的命令行参数解析

Python的命令行参数解析 #

SnailTyan 6866

报错:usage: main.py [-h],main.py: error: unrecognized arguments: --action train --arch cenet --epoch 5

原因:是因为同时有两个文件中含有超参数文件,只需要将非main.py文件的其他文件(例如:unet.py)中含有的下面内容删除即可import argparse,parse = argparse.ArgumentParser(),args = parse.parse_args()

weixin_40893448的博客 4233

Python 使用argparse设置运行参数

Python Argparser设置运行参数前言argparse使用1 创建ArgumentParser对象2 为ArgumentParser对象添加运行参数项3 解析ArgumentParser对象,获得argparse.Namespace对象4 全过程5 参数项说明使用解析后得到的argparse.Namespace对象 前言 本篇记录一下在python使用argparse设置运行参数。 argparsepython自带的包 argparse使用 argparse包的使用如下: 1 创建Arg

qq_41035283的博客 4501

python 学习杂记】argparse模块使用教程

argparse模块使用教程1、argparse介绍1 未使用argparse2 使用argparse2.1 argparse简单示例2.2 argparse进阶示例2.2.1 可选参数设置2.2.2 可选参数引用名2.2.3 清除帮助中的参数名信息2.2.4 必选参数设置列表参数(多参数)传入设置2.2.6 互斥参数使用 1、argparse介绍 argparse 是一个用来解析命令行参数的 Python 库,它是 Python 标准库的一部分。基于 python 2.7 的 stdlib 代码。

edc3001的博客 2万+

Python之 import argparse模块

Python之 import argparse模块 argparsePython 内置的一个用于命令项选项与参数解析的模块,通过在程序中定义好我们需要的参数,argparse 将会从 sys.argv 中解析出这些参数,并自动生成帮助和使用信息。 argparse 使用 我们先来看一个简单示例。主要有三个步骤 1、创建 ArgumentParser() 对象 2、调用 add_argument() 方法添加参数 3、使用 parse_args() 解析添加的参数 import argparse p

happy_wealthy的博客 1万+

python Argparse模块使用

参考: Argparse Tutorial:https://docs.python.org/2.7/howto/argparse.html#id1 argparse - Parser for command-line options, arguments and sub-commands:https://docs.python.org/2.7/library/argparse.html?hig

u012005313的专栏 2万+

Pythonargparse模块详解

Python argparse模块详解 argparse 是一个用来解析命令行参数的 Python 库,它是 Python 标准库的一部分。基于 python 2.7 的 stdlib 代码。argparse 模块使编写用户友好的命令行界面变得容易。程序定义了所需的参数,而 argparse 将找出如何从 sys.argv 中解析这些参数。argparse 模块还会自动生成帮助和使用消息,并在用户为程序提供无效参数时发出错误。 简单实现圆柱体体积的计算 为了便于对argparse命令行参数解析模块的理解,我

zzy_NIC的博客 6896

pythonargparse模块实践

python的标准库模块argparse实践

lixiao2112924629的博客 1486

python argparse模块

一、模块介绍 argparse模块python内置的一个模块,用于编写命令工具和参数解析,可以轻松编写用户友好的命令行接口。通过程序定义需要的参数,然后argparse将弄清如何从sys.argv解析出这些参数。argparse模块还会自动生成帮助和使用手册,并在用户给程序传入无效参数时报出错误信息。 二、使用流程 导入argparse模块 创建ArgmentParser()对象 调用add_argument()方法添加参数 使用parse_args()解析添加的参数 ...

VinWqx的博客 633

使用Pythonargparse模块于Shell脚本中 —— argparse-bash教程

使用Pythonargparse模块于Shell脚本中 —— argparse-bash教程 1. 项目介绍 argparse-bash 是一个令人兴奋的开源项目,由Noah Hoffman开发并遵循MIT许可协议。它旨在将Python世界中广受欢迎的 argparse 模块的功能带入到Shell脚本环境,特别是Bash。这意味着开发者现在可以在Shell脚本中享受到类型检查、自动帮助生成和复杂...

gitblog_00742的博客 837

PythonArgparse模块

转载:https://www.cnblogs.com/Hangingter/p/8093562.html 近日在阅读代码的过程中遇到了Argparse模块,记得前段时间已经看了,可是过了两周现在又忘了, 看来写代码一定要钻研到底搞清楚其中原委才行,本文主要参考Python3.6系列官方文档的Argparse模块的教程。   注意:还有两个模块Argparse功能相似,getopt和optpa...

qq_38409301的博客 150

pythonargparse模块

1.介绍 argparsepython用于解析命令行参数和选项的标准模块,用于代替已经过时的optparse模块argparse模块的作用是用于解析命令行参数。 2.使用步骤 首先导入模块 import argparse 创建一个解析对象 parser=argparse.ArgumentParser() 向对象中添加命令行参数和选项 parser.add_argument() ...

sinat_40766770的博客 758

python模块Argparse

`argparse` 模块Python 标准库中的一个用于编写用户友好的命令行接口(CLI)的模块。它允许程序定义它所需要的命令行参数,然后 `argparse` 会自动从 `sys.argv` 解析出那些参数。

LongL_GuYu的博客 1238

pythonargparse模块,及Pycharm传递参数给argparse

pythonargparse模块 argparse 模块可以编写用户友好的命令行接口。 程序定义它需要的参数,然后 argparse 将弄清如何从 sys.argv 解析出那些参数。 argparse 模块还会自动生成帮助和使用手册,并在用户给程序传入无效参数时报出错误信息。 一、argparse用法 主要有三个步骤: 创建 ArgumentParser() 对象 调用 add_argumen...

pentiumCM的博客 6316

Python模块 —— argparse构建命令行

在写命令行之前我们先介绍一下什么是命令行,命令行的结构是怎么样的。我们以在Linux系统上的git命令为例作为介绍。基本命令行形式命令 [-option {必选参数1|必选参数2|必选参数3}] [可选参数...]命令示例如下:下图中git命令行帮助。

julong187的博客 1652

python中的argparse模块

argparsePython中的一个常用模块,和sys.argv()功能类似,主要用于编写命令行接口:对于程序所需要的参数,它可以进行正确的解析。另外,argparse还可以自动的生成help和 usage信息,当程序的参数无效时,它可以自动生成错误信息。官方文档创建一个新的 ArgumentParser 对象。所有参数都应作为关键字参数传递。每个参数在下面都有更详细的描述,但简而言之,它们是:prog程序文件名usage程序使用说明程序目的说明epilog程序说明后记parents。

hbkybkzw的博客 773

pythonargparse 模块_pythonargparse模块

一、简介:argparsepython用于解析命令行参数和选项的标准模块,用于代替已经过时的optparse模块argparse模块的作用是用于解析命令行参数,例如python parseTest.py input.txt output.txt --user=name --port=8080。二、使用步骤:1:import argparse2:parser = argparse.Argumen...

weixin_39917437的博客 248
上一篇: 卷积神经网络(CNN)介绍与实践
下一篇: PageRank算法原理与实现
LeadAI学院
博客等级 码龄9年 701粉丝 48原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值