python argparse 简单使用

版权声明:本文为博主原创文章,未经允许不得转发 https://blog.csdn.net/fengchen0123456789/article/details/84138779

argparse 是命令行[cmd]解析参数,运行的时候可以传,不传的话可以使用默认,很方便
官网 https://docs.python.org/3/howto/argparse.html#introducing-positional-argumen

首先看代码,新建 args.py 文件

import argparse

argparser = argparse.ArgumentParser(prog='test argparse')
argparser.add_argument('count', nargs='?', default='1000',help='count max 10000')
argparser.add_argument('start', nargs='?', default='2018-11-02')
argparser.add_argument('end', nargs='?', default='2018-11-16')
argparser.add_argument('-port', default=1883, help='port test', type=int)
args = argparser.parse_args()

def testArgparse():
    print("satrt:%s ; end: %s ; count : %s" % (args.start,args.end,args.count))
    print("port : %d" % args.port)

if __name__ == '__main__': 
    testArgparse()

上面有位置参数,还有可选参数,不多说,直接命令行举例运行几次,看一下就明白了,理论去看官网吧

name or flags:任一一个名称或者是可选参数的list,例如:foo 或 -f, —foo。
action:获取的参数该采取何种提取方式。
nargs: 提取的命令行参数对应的值的个数。
const: 如果命令行没有传入该参数,const指定该参数的默认值,在某些action与nargs类型下才起作用。
default: 命令行中如果缺少该参数,default来提供值。
type: 要转换命令行参数的类型。
choice: 参数允许的值。
required : 表明参数是否是必须的,只对可选参数有效。
help: 对该参数的简要说明。
metavar :用于指明在帮助说明中,该参数有意义的值是多少。
dest: 用于指明该命令行参数在获取参数时候的属性是什么。

这里存复制
作者:Neo_joke
链接:https://www.jianshu.com/p/b54e1b5ce061
yf@liu:~/soft/liu/vital_signs_data$ python3 args.py 
satrt:2018-11-02 ; end: 2018-11-16 ; count : 1000
port : 1883
yf@liu:~/soft/liu/vital_signs_data$ python3 args.py 2000 2018-1-1 2018-10-1
satrt:2018-1-1 ; end: 2018-10-1 ; count : 2000
port : 1883
yf@liu:~/soft/liu/vital_signs_data$ 
yf@liu:~/soft/liu/vital_signs_data$ python3 args.py 3000 2018-2-1 2018-12-1 -port 1886
satrt:2018-2-1 ; end: 2018-12-1 ; count : 3000
port : 1886
yf@liu:~/soft/liu/vital_signs_data$ 
yf@liu:~/soft/liu/vital_signs_data$ python3 args.py --help
usage: test argparse [-h] [-port PORT] [count] [start] [end]

positional arguments:
  count       count max 10000
  start
  end

optional arguments:
  -h, --help  show this help message and exit
  -port PORT  port test


上面是命令窗口运行的效果展示

猜你喜欢

转载自blog.csdn.net/fengchen0123456789/article/details/84138779
今日推荐