在不同环境部署项目时, 由于不同的配置, 部署时难免会改变部署的方式, 而且基本使用版本管理工具, 比如 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
官方网址:
来源: http://www.bubuko.com/infodetail-2972359.html