• optparse模块


      optparse模块为内置的第三方模块,实现类似sys.argv的功能,但更加方便好用。

    # -*- coding:utf-8 -*-
    __author__ = 'Qiushi Huang'
    
    import optparse  # sys.argv的功能类似
    # python ftp_client.py -h 192.168.22.33 -p 8091
    # user:
    # password
    
    
    class FTPClient(object):
        """ftp客户端"""
    
        def __init__(self):
            parser = optparse.OptionParser()
            parser.add_option("-s", "--server", dest="server", help="ftp server ip_addr")
            parser.add_option("-P", "--port", type="int", dest="port", help="ftp server port")
            parser.add_option("-u", "--username", dest="username", help="username info")
            parser.add_option("-p", "--password", dest= "password", help= "password info")
            self.options, self.args = parser.parse_args()
    
            print(self.options, self.args)
    
    
    if __name__ == '__main__':
        client = FTPClient()   # 实例化

      执行脚本python3 ftp_client.py 1  324,输出结果如下:

    {'server': None, 'port': None, 'username': None, 'password': None} ['1', '324']

      执行脚本python3 ftp_client.py -s 127.0.0.1 -P 3308 -u admin -p admin,输出结果如下所示:

    {'server': '127.0.0.1', 'port': 3308, 'username': 'admin', 'password': 'admin'} []

       从上面的代码可以看到,optparse模块可以帮忙完成输出参数的解析。同时,还可以用来查看帮助信息,方便客户执行程序。执行 python3 ftp_client.py -h,输出帮助信息如下:

    Usage: ftp_client.py [options]
    
    Options:
      -h, --help            show this help message and exit
      -s SERVER, --server=SERVER
                            ftp server ip_addr
      -P PORT, --port=PORT  ftp server port
      -u USERNAME, --username=USERNAME
                            username info
      -p PASSWORD, --password=PASSWORD
                            password info

       需要注意虽然self.options打印出来的形式是字典,但实际是一个类,不能使用字典的get方法直接取值。

    class FTPClient(object):
        """ftp客户端"""
    
        def __init__(self):
            parser = optparse.OptionParser()
            parser.add_option("-s", "--server", dest="server", help="ftp server ip_addr")
            parser.add_option("-P", "--port", type="int", dest="port", help="ftp server port")
            parser.add_option("-u", "--username", dest="username", help="username info")
            parser.add_option("-p", "--password", dest= "password", help= "password info")
            self.options, self.args = parser.parse_args()
    
            print(self.options, self.args)
            print(type(self.options), type(self.args))

    执行python3 ftp_client.py,输出结果如下:

    $ python3 ftp_client.py
    {'server': None, 'port': None, 'username': None, 'password': None} []   # options
    <class 'optparse.Values'> <class 'list'>        # args



  • 相关阅读:
    app测试点-1
    毕业5年的感悟
    关于游戏外挂
    python-unittest单元测试框架
    python-requests
    http简介
    python基础-发邮件smtp
    python-加密
    4 Python 日期和时间
    5 Python 数据类型—数字
  • 原文地址:https://www.cnblogs.com/xiugeng/p/8821302.html
Copyright © 2020-2023  润新知