• 建议41:使用argparse处理命令行参数


    # -*-  coding:utf-8 -*-
    '''
    以现阶段最好用的参数处理标准库是argparse
    '''
    import argparse
    parser = argparse.ArgumentParser()
    parser.add_argument('-o', '--output')
    parser.add_argument('-v', dest='verbose', action='store_true')
    args = parser.parse_args()
    
    #在type 参数的值不再是一个字符串,而是一个可调用对象
    parser = argparse.ArgumentParser()
    parser.add_argument('bar', type=argparse.FileType('w'))
    parser.parse_args(['out.txt'])
    
    #扩展类型也变得更加容易,任何可调用对象,与type 类似,choices 参数也支持更多的类型
    parser.add_argument('door', type=int, choices=range(1, 4))
    
    #ArgumentParser 还支持参数分组
    parser = argparse.ArgumentParser(prog='PROG', add_help=False)
    group1 = parser.add_argument_group('group1', 'group1 description')
    group1.add_argument('foo', help='foo help')
    
    group2 = parser.add_argument_group('group2', 'group2 description')
    group2.add_argument('--bar', help='bar help')
    
    parser.print_help()
    
    #add_mutually_exclusive_group(required=False) 就非常实用:它确保组中的参数至少
    #有一个或者只有一个(required=True)。
    
    
    #argparse 也支持子命令,使用ArgumentParser.add_subparsers() 就可以实现类似的功能。
    parser = argparse.ArgumentParser(prog='PROG')
    subparsers = parser.add_subparsers(help='sub-command help')
    parser_a = subparsers.add_parser('a', help='a help')
    parser_a.add_argument('--bar', type=int, help='bar help')
    parser.parse_args(['a', '--bar', '1'])
  • 相关阅读:
    ObjectiveC字符串处理
    分享 10 个 jQuery 的语言翻译插件
    30 个实用的 jQuery 选项卡/导航教程推荐
    iphoneCocos2D游戏开发
    cocos2d和unity3d的比较
    将NSString转换编码集变为GBK或GB2312
    超过 40 款很有用而且很新的 jQuery 插件
    表格单元的表现形式
    ShareKit
    UI Prototype Design IDE( 界面原型设计工具 )
  • 原文地址:https://www.cnblogs.com/tychyg/p/4935947.html
Copyright © 2020-2023  润新知