前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python argparse使用

python argparse使用

作者头像
用户1558882
发布2019-03-19 17:32:40
9210
发布2019-03-19 17:32:40
举报
文章被收录于专栏:RgcRgc

 在不同环境部署项目时,由于不同的配置,部署时难免会改变部署的方式,而且基本使用版本管理工具,比如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

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-03-01 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档