Python click——命令行工具

发布时间:2019-08-01 17:09:07编辑:auto阅读(1492)

    我们的游戏资源处理工具是python实现的,功能包括csv解析,UI材质处理,动画资源解析、批处理,Androd&iOS自动打包等功能。

    该项目是由其他部门继承过来的,由于绝大部分代码不符合我们的业务需求,所以进行了大重构。

    删除了所有业务代码,仅保留了python代码框架。项目中命令行参数解析是自己实现的,极其不优雅,也忍了这么久。

    打算找时间用click重写。


    click是Python的一个命令行工具,极其好用。不信?一试便知。


    安装pip (如果已经安装,可以跳过)

    1、环境检查
    #在终端运行如下命令检查是否安装过pip
    pip --version

    #能正常显示pip版本号,表示已经安装
    pip 7.1.0 from /Library/Python/2.7/site-packages/pip-7.1.0-py2.7.egg (python 2.7)

    2、如果没有安装pip,安装方法如下:
    1).用easy_install安装
    sudo easy_install pip
    2)用源码安装
    下载源码pip-1.5.4.tar.gz


    执行安装命令:
    tar -xzvf pip-1.5.4.tar.gz
    cd pip-1.5.4
    sudo python setup.py install


    安装python click模块 

    pip install click

    Python click 使用演示

    演示脚本log.py

    # -*- coding: utf-8 -*- 
    __author__ = "ZhangYanguang"
    
    import sys
    import click
    import time
    
    import utils
    
    @click.command()
    @click.option('-m', '--msg')
    @click.option('--dry-run', is_flag=True, help=u'输出指令不执行')
    
    def run(**options):
    	msg = options['msg']
    	log(msg)
    
    #日志
    def log(msg):
        print '[%s:%s] %s'%(sys.argv[0],time.strftime('%Y-%m-%d %H:%M:%S'), msg);
    
    if __name__=='__main__':
        run()
    运行结果如下


    扫描关注微信公众号:AppCoder







关键字