optparse 模块

optparse 模块

  • 文档: https://www.cnblogs.com/darkpig/p/5677153.html

    import optparse
    
    usage = 'Usage: %prog [options] arg1 arg2 ...'
    
    # 1. 实例化一个对象命令对象
    parse = optparse.OptionParser(usage, version="%prog 版本解释")
    # 参数: 
    #   usage 命令的解释:
    #   %prog  实际上就是  sys.argv[0]
    # version='values'
    #   values : 当执行   --version 时打印的值
    
    # 2. 给对象添加值
    parse.add_option('-a', '--aaa', dest='aaa', help='aaa,aaa')
    # 参数解释:
    #   dest : 就是参数后面跟的值
    
    # 3. 设置一个组
    group1 = optparse.OptionGroup(parse, "设置服务器", '设置服务器连接 IP 与 端口')
    # 参数:
    #    参数 1 : 组属于哪个对象
    #    参数 2 : 组名
    #    参数 3 : 介绍
    
    # 4. 给组添加数据
    group1.add_option('-s', '--server', dest='server', help="FTP 服务器的IP地址")
    group1.add_option('-P', '--port', type='int', dest='port', help="FTP 服务器的端口号")
    
    # 5. 设置第二个组
    group2 = optparse.OptionGroup(parse, '设置账号', '连接服务器的账号与密码')
    group2.add_option('-u', '--username', dest='username', help="FTP 的账号")
    group2.add_option('-p', '--password', dest='password', help="FTP 的密码")
    parse.add_option_group(group1)
    parse.add_option_group(group2)
    
    
    options, args = parse.parse_args()
    print(options, args)
    
    # 结果 
    E:\>python client.py -s 192.168.12.12 -P 2201 -u zsy -p123 args1 args2
    {'aaa': None, 'server': '192.168.12.12', 'port': 2201, 'username': 'zsy', 'password': '123'} ['args1', 'args2']
    
  • 结果

    E:\>python client.py --help
    Usage: client.py [options] arg1 arg2 ...
    
    Options:
      --version             show program's version number and exit
      -h, --help            show this help message and exit
      -a AAA, --aaa=AAA     aaa,aaa
    
      设置服务器:
        设置服务器连接 IP 与 端口
    
        -s SERVER, --server=SERVER
                            FTP 服务器的IP地址
        -P PORT, --port=PORT
                            FTP 服务器的端口号
    
      设置账号:
        连接服务器的账号与密码
    
        -u USERNAME, --username=USERNAME
                            FTP 的账号
        -p PASSWORD, --password=PASSWORD
                            FTP 的密码
    

你可能感兴趣的:(optparse 模块)