zoukankan      html  css  js  c++  java
  • Python命令行参数解析模块argparse

    当写一个Python脚本时经常会遇到不同参数不同功能的情况,如何做一个更好看的命令帮助信息以及对命令参数解析呢?

    这就需要使用argparse模块

    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
    
    import sys
    import os
    import argparse
    
    __metaclass__ = type
    
    
    class Inventory:
        def __init__(self):
            self._read_cli_args()
    
            if self._args.list:  # 如果输入的参数为 --list 那么将执行这里
                print("list")
            elif self._args.host:
                print(self._args.host)
    
        def _read_cli_args(self):
            # 创建一个解析对象
            parser = argparse.ArgumentParser(description='这是命令的说明描述信息')
            # required=True 表示必须提供该参数
            parser.add_argument("--type", "-t", required=True, help="类型 tomcat|dubbo")
            """
            向对象添加你要关注的命令行参数 一般写两个 一个长参 一个短参  action表示值赋给键的方式 布尔值(store_true|store),
            当读取的参数中出现指定的参数时的行为,也就是存储True还是False
            我这里写的是 store_true 表示输入 inventory.py --list 后,你获取list值就是true否则就是false
            """
            parser.add_argument("--list", "-l", action="store_true", help="--list 参数功能说明")
            # store的含义是需要在 --host 接收一个参数,并把这个参数存储到这个host中
            parser.add_argument("--host", action="store", help="--host 参数功能说明")
            # 为参数值指定可选范围,也就是这个参数的值只能是 0 1 2 其中之一,且默认值为1
            parser.add_argument("-c", "--mychoice", type=int, choices=[0, 1, 2], default=1,
                                help="我的选择")
            self._args = parser.parse_args()  # 进行解析
            # 解析完成后,self_args包含了所有必要的命令参数和值,如果想要获取那么就 self._args.键 来获取
            print(self._args)
    
    
    def main():
        Inventory()
    
    if __name__ == "__main__":
        try:
            main()
        finally:
            sys.exit()
    

    帮助

  • 相关阅读:
    mysql的缓冲查询和非缓冲查询
    通过中看不中用的代码分析Ioc容器,依赖注入....
    register_shutdown_function AND fastcgi_finish_request
    laravel5源码讲解整理
    ERROR! MySQL is running but PID file could not be found
    读《高性能javascript》笔记(一)
    看php手册2015-03-19版后备注
    rawurlencode / urlencode
    Zen Cart屏蔽中文语言浏览器
    WooCommerce Shortcode 简码使用方式说明
  • 原文地址:https://www.cnblogs.com/rexcheny/p/10262046.html
Copyright © 2011-2022 走看看