argparse是python用于解析命令行参数和选项的标准模块,用于代替已经过时的optparse模块。
import argparse
# 先不添加参数
parser = argparse.ArgumentParser(description=‘parse the parameter‘)
# 打印一下所有参数
args = parser.parse_args()
上面的例子运行后,由于没有添加任何参数,所以看不出什么。不过可以加上-h 或 --help 运行一下,会显示我们自定义的description的内容,以及默认的help的内容
eric@EricdeMacBook-Pro WorkSpace % python demo1.py -h
usage: demo1.py [-h]
parse the parameter
optional arguments:
-h, --help show this help message and exit
ArgumentParser选项可以有基本的description,也可以自定义脚本的文件名在 usage 里的显示名称。
import argparse
parser = argparse.ArgumentParser(description=‘parse the parameter‘,prog=‘demo2.py‘)
args = parser.parse_args()
#----------------------------------------------------------------------------------
eric@EricdeMacBook-Pro WorkSpace % python demo1.py -h
usage: demo2.py [-h]
parse the parameter
optional arguments:
-h, --help show this help message and exit
调用add_argument()方法是,设置关键参数help,来添加参数说明。
话不多说,先上一个使用了各种选项的例子,我们通过例子来解释说明各个选项的含义和基础用法。
import argparse
def parse():
parse = argparse.ArgumentParser(description="argparse module demo for eric")
parse.add_argument("-f",help=‘demo foo‘,dest=‘foo‘,action=‘store‘,required=True,default=‘foo1‘)
parse.add_argument("--bar",help=‘demo bar, default = %(default)s‘,default=‘bar1‘)
parse.add_argument(‘-e‘,help=‘is enabled‘,action=‘store_true‘,default=True, dest="isenabled")
parse.add_argument(‘-n‘,help=‘demo number‘,default=3,dest=‘number‘,type=int)
args = parse.parse_args()
return args
def main():
args=parse()
print(args.foo + " " + args.bar + " " + str(args.isenabled) + " " + str(args.number))
if __name__ == ‘__main__‘:
print("start the demo programe")
main()
运行后的结果为:
eric@EricdeMacBook-Pro WorkSpace % python demo.py -h
start the demo programe
usage: demo.py [-h] -f FOO [--bar BAR] [-e] [-n NUMBER]
argparse module demo for eric
optional arguments:
-h, --help show this help message and exit
-f FOO demo foo
--bar BAR demo bar, default = bar1
-e is enabled
-n NUMBER demo number
#------------------------------------------------------------------
eric@EricdeMacBook-Pro WorkSpace % python demo.py -f foo
start the demo programe
foo bar1 True 3
#------------------------------------------------------------------
eric@EricdeMacBook-Pro WorkSpace % python demo.py -f foo --bar eric -n 1
start the demo programe
foo eric True 1
这里只介绍了满足大部分场景的基础用法,更多高级用法请参考python官方文档:
原文:https://www.cnblogs.com/ericte/p/13934682.html