python3中argparse模块

1、定义:argparse是python标准库里面用来处理命令行参数的库

2、命令行参数分为位置参数和选项参数:

位置参数就是程序根据该参数出现的位置来确定的

如:[[email protected]_1 /]# ls root/    #其中root/是位置参数

选项参数是应用程序已经提前定义好的参数,不是随意指定的

如:[[email protected]_1 /]# ls -l    # -l 就是ls命令里的一个选项参数

3、使用步骤:

(1)import argparse    首先导入模块

(2)parser = argparse.ArgumentParser()    创建一个解析对象

(3)parser.add_argument()    向该对象中添加你要关注的命令行参数和选项

(4)parser.parse_args()    进行解析

4、argparse.ArgumentParser()方法参数须知:一般我们只选择用description

prog=None     - 程序名

description=None,    - help时显示的开始文字

epilog=None,     - help时显示的结尾文字

parents=[],        -若与其他参数的一些内容一样,可以继承

formatter_class=argparse.HelpFormatter,     - 自定义帮助信息的格式

prefix_chars=‘-‘,    - 命令的前缀,默认是‘-’

fromfile_prefix_chars=None,     - 命令行参数从文件中读取

argument_default=None,    - 设置一个全局的选项缺省值,一般每个选项单独设置

conflict_handler=‘error‘,     - 定义两个add_argument中添加的选项名字发生冲突时怎么处理,默认处理是抛出异常

add_help=True    - 是否增加-h/--help选项,默认是True)

5、add_argument()方法参数须知:

name or flags...    - 必选,指定参数的形式,一般写两个,一个短参数,一个长参数

import argparseparser = argparse.ArgumentParser()parser.add_argument(‘echo‘)     # add_argument()指定程序可以接受的命令行选项args = parser.parse_args()      # parse_args()从指定的选项中返回一些数据print(args)print(args.echo)

结果:

G:\flower\python\arg_parse>python demo1.py foo

Namespace(echo=‘foo‘)

foo

action 表示值赋予键的方式,这里用到的是bool类型,action意思是当读取的参数中出现指定参数的时候的行为

help 可以写帮助信息

parser = argparse.ArgumentParser(description = ‘this is a description‘)parser.add_argument(‘--ver‘, ‘-v‘, action = ‘store_true‘, help = ‘hahaha‘)# 将变量以标签-值的字典形式存入args字典args = parser.parse_args()if args.ver:    print("Ture")else:    print("False")

结果:

G:\flower\python\arg_parse>python demo1.py -v

Ture

G:\flower\python\arg_parse>python demo1.py -j

usage: demo1.py [-h] [--ver]

demo1.py: error: unrecognized arguments: -j

required    - 必需参数,通常-f这样的选项是可选的,但是如果required=True那么就是必须的了

type   - 指定参数类型

# required标签就是说--ver参数是必需的,并且类型为int,输入其它类型会报错parser.add_argument(‘--ver‘, ‘-v‘, required = True, type = int)

结果:

G:\flower\python\arg_parse>python demo1.py -v 1

Ture

G:\flower\python\arg_parse>python demo1.py -v ss

usage: demo1.py [-h] --ver VER

demo1.py: error: argument --ver/-v: invalid int value: ‘ss‘

choices    - 设置参数的范围,如果choice中的类型不是字符串,要指定type

表示该参数能接受的值只能来自某几个值候选值中,除此之外会报错,用choice参数即可

parser.add_argument(‘file‘, choices = [‘test1‘, ‘test2‘])args = parser.parse_args()print(‘read in %s‘%(args.file))

结果:

G:\flower\python\arg_parse>python demo1.py test1

read in test1

nargs    - 指定这个参数后面的value有多少个,默认为1

# 表示脚本可以读入两个整数赋予num键(此时的值为2个整数的数组)parser.add_argument(‘filename‘, nargs = 2, type = int)args = parser.parse_args()print(‘read in %s‘%(args.filename))

结果:

G:\flower\python\arg_parse>python demo1.py 1 2 3

usage: demo1.py [-h] filename filename

demo1.py: error: unrecognized arguments: 3

分析:nargs还可以‘*‘用来表示如果有该位置参数输入的话,之后所有的输入都将作为该位置参数的值;‘+’表示读取至少1个该位置参数。‘?‘表示该位置参数要么没有,要么就只要一个。(PS:跟正则表达式的符号用途一致。)

如:

parser.add_argument(‘filename‘, nargs = ‘+‘, type = int)args = parser.parse_args()print(‘read in %s‘%(args.filename))

dest   - 设置这个选项的value解析出来后放到哪个属性中

parser.add_argument(‘-file‘, choices = [‘test1‘, ‘test2‘], dest = ‘world‘)args = parser.parse_args()print(‘read in %s‘%(args.world))

原文地址:https://www.cnblogs.com/yksgzlyh/p/10205809.html

时间: 2024-09-29 09:20:57

python3中argparse模块的相关文章

Python3中正则模块re.compile、re.match及re.search

本文实例讲述了Python3中正则模块re.compile.re.match及re.search函数用法.分享给大家供大家参考,具体如下: re模块 re.compile.re.match. re.search re 模块官方说明文档 正则匹配的时候,第一个字符是 r,表示 raw string 原生字符,意在声明字符串中间的特殊字符不用转义. 比如表示 '\n',可以写 r'\n',或者不适用原生字符 '\n'. 推荐使用 re.match re.compile() 函数 编译正则表达式模式,

Python3中正则模块re.compile、re.match及re.search函数用法详解

Python3中正则模块re.compile.re.match及re.search函数用法 re模块 re.compile.re.match. re.search 正则匹配的时候,第一个字符是 r,表示 raw string 原生字符,意在声明字符串中间的特殊字符不用转义. 比如表示 ‘\n',可以写 r'\n',或者不适用原生字符 ‘\n'. 推荐使用 re.match re.compile() 函数 编译正则表达式模式,返回一个对象.可以把常用的正则表达式编译成正则表达式对象,方便后续调用及

Python3中的模块

模块使用哪种语言实现并不重要,因为所有的模块导入与使用的方式都相同. 1.常用模块导入格式: import importable1,importable2,... import importable as preferred_name #将导入的模块自定义名称.如果模块是一个包或包中的一个模块,则需将每一部分用"."进行分隔. from importable import * #将包内的所有内容都导入 from importable import object1,object2,...

python中argparse模块的使用

有两个文件一个是 文件1:sync_shop_source_bimer.sh 文件2:sync_shop_source_bimer.py 在sync_shop_source_bimer.sh 中调用sync_shop_source_bimer.py 文件1中产生的文件要传递给文件2 文件1中的内容 shop_flow_output="/tmp/shop_flow_source" shop_gmv_output="/tmp/shop_gmv_source" yesda

python3中zipfile模块的常用方法

一.zipfile模块的简述 zipfile是python里用来做zip格式编码的压缩和解压缩的,由于是很常见的zip格式,所以这个模块使用频率也是比较高的, 在这里对zipfile的使用方法做一些记录.即方便自己也方便别人. zipfile里有两个非常常用的class, 分别是ZipFile和ZipInfo, 在绝大多数的情况下,我们只需要使用这两个class就可以了. ZipFile是主要的类,用来创建和读取zip文件而ZipInfo是存储的zip文件的每个文件的信息的. 下面我们就来介绍这

Python3 中 random模块

Python中的random模块用于生成随机数. 下面具体介绍random模块的功能: 1.random.random() #用于生成一个0到1的 随机浮点数:0<= n < 1.0 import random a = random.random() print (a) 2.random.uniform(a,b) #用于生成一个指定范围内的随机符点数,两个参数其中一个是上限,一个是下限.如果a > b,则生成的随机数n: a <= n <= b.如果 a <b, 则 b

python3中SYS模块

sys.argv               命令行参数List,第一个元素是程序本身路径sys.modules        返回系统导入的模块字段,key是模块名,value是模块sys.exit(n)           退出程序,正常退出时exit(0)sys.version          获取Python解释程序的版本信息sys.maxint           最大的Int值sys.path             返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值

学习python argparse模块下载安装和使用

Python中argparse模块已经替代以前的optparse模块,常被用来实现命令行参数和选项的解析作用. 位置参数: 从一个最基本的程序开始(它并没有实现什么现实的功能): import argparseparser = argparse.ArgumentParser()parser.parse_args() 下面是运行之后的结果: $ python prog.py$ python prog.py --helpusage: prog.py [-h]optional arguments: 

python之模块配置文件ConfigParser(在python3中变化较大)

# -*- coding: utf-8 -*- #python 27 #xiaodeng #python之模块ConfigParser(在python3中为configparser) #特别注意:python3和python2关于该模块的功能用法有很大的不同. #配置文件解析器 import ConfigParser,os #初始化一个配置文件对象 config=ConfigParser.ConfigParser() #增加一个section config.add_section('Sectio