[关闭]
@songying 2018-07-10T15:58:25.000000Z 字数 1266 阅读 1124

init.py文件

requests源码阅读


依赖库

两个函数

check_compatibility()

检查urllib3与 chardet的版本型号

_check_cryptography()

检查 cryptography 的版本号

import

接下来,将仓库的接口import到__init__来方便用户调用。

  1. >>> dir(requests)
  2. [
  3. """异常"""
  4. 'RequestException','Timeout','URLRequired', 'TooManyRedirects','ConnectTimeout','HTTPError', 'ConnectionError', 'FileModeWarning','ReadTimeout',
  5. 'DependencyWarning', 'NullHandler', 'RequestsDependencyWarning',
  6. """ models.py """
  7. 'Request', 'Response', 'PreparedRequest',
  8. """ __version__.py信息"""
  9. '__url__', '__title__','__version__', '__author__', '__author_email__', '__build__', '__cake__', '__license__', '__copyright__', '__description__',
  10. '__cached__', '__builtins__', '__doc__', '__file__','__loader__','__name__','__package__','__path__','__spec__', '_internal_utils',
  11. """文件名模块"""
  12. 'adapters', 'api', 'auth', 'certs', 'compat', 'cookies','exceptions', 'hooks', 'models', 'packages','status_codes', 'structures', 'sessions', 'utils',
  13. """__init__.py模块"""
  14. 'check_compatibility',
  15. """status_code"""模块
  16. 'codes',
  17. """ api.py文件 """
  18. 'delete', 'get', 'post', 'put', 'request','head', 'options', 'patch',
  19. """sessions文件"""
  20. 'session','Session',
  21. """__init__.py 导入模块"""
  22. 'chardet', 'logging', 'pyopenssl', 'urllib3', 'warnings']

技巧

  1. 善用断言
  2. 注意异常捕捉

总结

__init__模块中做两件事:
1. 将模块的接口从__init__.py中导入
2. 检查导入重要模块的版本,比如该项目中, urllib3很重要

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注