zoukankan      html  css  js  c++  java
  • 建议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'])
  • 相关阅读:
    docker network
    mongodb索引
    docker中管理数据
    mysql表备份及还原
    Find and run the whalesay image
    Learn about images & containers
    docker installation on ubuntu
    【转载】熟练利用google hacking来辅助我们快速渗透
    xmind常用快捷键
    漏洞挖掘基础
  • 原文地址:https://www.cnblogs.com/tychyg/p/4935947.html
Copyright © 2011-2022 走看看