python:argparse命令行解析模块详解,,argparse命令
python:argparse命令行解析模块详解,,argparse命令
argparse命令行解析模块学习
import argparseparser = argparse.ArgumentParser() #类似于初始化吧parser.parse_args() #解析参数//默认存在-h,--help参数
输出如下
python test.py --helpusage: prog.py [-h]optional arguments:-h, --help show this help message and exit
接下来
import argparseparser = argparse.ArgumentParser()parser.add_argument("echo") #定义了一个名为echo的参数,默认必选args = parser.parse_args()print(args.echo)//在这里echo是positional arguments,中文翻译是定位参数,也就是不需要使用-或者--就可用
输出示例
python test.py flagflag
--
接下来看下面这段代码
import argparseparser = argparse.ArgumentParser()parser.add_argument("--verbosity", help="increase output verbosity") #help参数,是你输入-h或者--help时会显示的这个--verbosity的帮助信息args = parser.parse_args()if args.verbosity: #这里就是判断参数是否存在,如果存在就执行下面语句,就可以用来实现一些功能 print("verbosity turned on")
然后看输出
python test.py --verbosity testverbosity turned on//这里必须指定一个输入,这里我的输入是test,我还打印了下args.verbosity 输出是test
再看改了点的
import argparseparser = argparse.ArgumentParser()parser.add_argument("--verbosity", help="increase output verbosity",action="store_true") #增加了一个action属性args = parser.parse_args()if args.verbose: print("verbosity turned on")//这个直接python --verbosity 就可以运行if后面的语句,而不用指定参数
-v短参数
import argparseparser = argparse.ArgumentParser()parser.add_argument("-v", "--verbose", help="increase output verbosity",action="store_true")args = parser.parse_args()if args.verbose: print("verbosity turned on")
还可以指定type,默认参数type为str
import argparseparser = argparse.ArgumentParser()parser.add_argument("square", help="display a square of a given number",type=int)args = parser.parse_args()print(args.square**2) //这就要求输入必须参数必须是int,否则会报错
还一个属性choices=[],定义可选项,再用if语句判断,示例如下
import argparseparser = argparse.ArgumentParser()parser.add_argument("square", type=int, help="display a square of a given number")parser.add_argument("-v", "--verbosity", type=int, choices=[0, 1, 2], help="increase output verbosity")args = parser.parse_args()answer = args.square**2if args.verbosity == 2: print ("the square of {} equals {}".format(args.square, answer))elif args.verbosity == 1: print ("{}^2 == {}".format(args.square, answer))else: print (answer)
属性default,可以指定当不给出参数时,默认的参数
***
整段程序的帮助信息
parser = argparse.ArgumentParser(description="calculate X to the power of Y")
还一个互斥组
group = parser.add_mutually_exclusive_group()
往这里添加的参数不能同时出现,最多出现一个,或者都不出现
python:argparse命令行解析模块详解
相关内容
- Python代码规范(PEP8)问题及解决,pythonpep8,安装了PyC
- Python中的tuple,Pythontuple,tuple_lst
- python3之微信文章爬虫,,前提:python3
- Python设计模式 - UML - 组件图(Component Diagram),,简介组件
- caffe makefile.config anaconda2 python3 所有问题一种解决方式,
- BioPython-2,,关于Seq对象的内容
- 【python】入门学习(三),,for循环for i
- 正则表达式 (python 2),正则表达式python,Python提供re
- 关于python -os.mkdir(str)方法的使用记录,python-os.mkdir,这几
- python之懒惰属性(延迟初始化),, Python 对
评论关闭