首页 > 编程语言 > 详细

python argparse使用

时间:2019-03-01 18:06:11      阅读:151      评论:0      收藏:0      [点我收藏+]

 在不同环境部署项目时,由于不同的配置,部署时难免会改变部署的方式,而且基本使用版本管理工具,比如git或svn进行下拉代码部署项目时,尽可能的不变动代码(如果变动代码,下次下拉代码前必须要使用git reset --hard命令恢复代码,较为麻烦)而达到成功部署的目的。

解决方案之一是 在启动命令时添加参数,通过这个参数指定不同的配置文件从而达到部署不同环境的效果

使用的包为 argparse 。如下为使用案例。

 

# -*- coding: utf-8 -*-
# (C) Guangcai Ren <renguangcai@jiaaocap.com>
# All rights reserved
# create time ‘2019/3/1 9:49‘

import argparse
import sys

parser = argparse.ArgumentParser(prog="argparse test", usage=python start.py -i develop -b heartbeat,
                                 description="Test args input!", epilog="Thanks for use this test")

# 设置 可选参数范围
parser.add_argument("-a", "--al", type=str, default=default, choices=[default, develop, product],
                    help="""-a:入参名 --al:调用此入参的变量 type:入参值类型 default:默认值 choices:参数值范围;
                            使用案例:python argparse_rgc.py -a develop ;
                            调用方法:args = parser.parse_args()
                                    al=args.al # develop""")
# 调用时返回 True 或 False,通过 action 参数设置
parser.add_argument("-b", "--bl", default=False, action=store_true,
                    help="""action:store_true 只要带参数 -b ,则存储变量值为True,默认是 False;
                            使用案例:python argparse_rgc.py -b     # 值为 True
                                    python argparse_rgc.py        # 值为 False """)
# 设置 参数值的个数
parser.add_argument("-c", "--cl", default=None, nargs=3, type=int,
                    help="""args:设置值的个数,可以指定值的类型,并放到一个list中;
                            使用案例:python argparse_rgc.py -c 1 2 3 # 值为 [1,2,3]""")
# 把一个参数所有的值都放在一个list中,不限制值的个数
parser.add_argument("-al", "--ar", nargs=*, type=int, help="""nargs:设置为*;
                                                      使用案例:python start.py -al 1 2 3 4 # 值为 [1,2,3,4]""")
# 读文件
parser.add_argument("-f", "--infile", default=sys.stdin, nargs=?, type=argparse.FileType(r),
                    help="""type参数设置为FileType(‘r‘)
                            使用案例:python start.py -f file.txt # <_io.TextIOWrapper name=‘<stdin>‘ mode=‘r‘ encoding=‘utf-8‘>
                            """)
# 设置 获取变量的变量名
parser.add_argument("-d", "--de", dest=des, nargs=*, help="""dest参数设置为 需要的变量名;
                                                                 使用案例:python start.py -d iero
                                                                         args = parser.parse_args()
                                                                         dest= args.des """)

args = parser.parse_args()
print(args)

 

其他参数解析包如下:

sys.argv

optparse

 

 

官方网址:

https://docs.python.org/3/library/argparse.html#argparse.ArgumentParser.parse_args

 

python argparse使用

原文:https://www.cnblogs.com/rgcLOVEyaya/p/RGC_LOVE_YAYA_964days.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!