argparse是python自带的命令行参数解析包,可以用来方便的读取命令行参数,当代码需要频繁的修改参数时,使用这个工具可以将参数和代码分开,让代码更简洁,适用范围更广。
1、基本的框架
导入argparse包 import argparse 使用argparse从命令行获取用户名,然后打印’Hello ‘+ 用户名,假设python文件名为practice.py:
在上面的代码中,先导入了argparse的包,然后ArgumentParser生成一个parser对象(参数解析器),其中description是描述这个参数是干什么的,当在命令行显示参数的帮助信息时就会看到description的描述信息。
通过对象的add_argument函数来增加参数,这里增加了两个参数name和year。其中’-n’和’–name’是表示同一个参数,default表示当在运行命令时若没有提供参数,程序会将此值作为参数值。
最后采用parse_args获得参数解析,当’-‘和’–'同时出现的时候,系统默认后者为参数名,前者不是,但是在命令行输入的时候没有这个区分接下来就是打印参数信息了。
2、default
参数default表示没有设置值情况下默认参数。如上例中所示,default表示命令行没有设置该参数的时候,程序中用什么值来代替。
3、requried
参数requried 表示这个参数是否需要一定的设置。如果设置了required=True,则在实际运行的时候不设置该参数将报错:
运行下面命令会报错:
4、type:参数类型
默认的参数类型是str类型,如果需要一个整数或者布尔型参数,需要设置type=int或type=bool,下面是一个打印平方的栗子
import argparse
def get_parser():
parser = argparse.ArgumentParser(
description='Calculate square of a given number')
parser.add_argument('-number', type=int)
return parser
if __name__ == '__main__':
parser = get_parser()
args