欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

小菜鸡学习包之requests-__init__.py篇

程序员文章站 2022-09-13 22:04:27
from .exceptions import RequestsDependencyWarning首先是这个from . import,我这个小菜鸡去查了一下(https://realpython.com/absolute-vs-relative-python-imports/),就是绝对(absolute)和相对(relative)引入的区别:import会去sys.modules(一个字典,记录了所有预加载的模块)里面查找是否有相对应的包*如果未找到,那么python就会去python 标准库...
from .exceptions import RequestsDependencyWarning

首先是这个from . import,我这个小菜鸡去查了一下(https://realpython.com/absolute-vs-relative-python-imports/),就是绝对(absolute)和相对(relative)引入的区别:

  1. import会去sys.modules(一个字典,记录了所有预加载的模块)里面查找是否有相对应的包*
  2. 如果未找到,那么python就会去python 标准库(standard
    library)里面查找,如果还没有找到,那么就会去sys.path(通常包括目前文件夹)里面继续查找
  3. 如果找到,那么这个名字就和被和这个包绑定起来,就不会出现nameerror

一个dot就代表这个模块或者包在同级目录,两个dot表示这个在上一级目录中

在同级exception.py中,RequestsDependencyWarning继承了RequestsWarning,RequestsWarning继承了Warning

def check_compatibility(urllib3_version, chardet_version):
def _check_cryptography(cryptography_version):

这两个函数就是检查依赖包的版本(#注意,代码里面的urllib是1.x.x版本,chardet是3.x.x版本,后续可能也要继续修改。如果有大神指出,

  • 这里有什么办法可以很好的自动获取最低版本号码?

总结:这一部分自定了很多Error(基于python 标准库中的 Warning),引入了一些写好的组件模块。

本文地址:https://blog.csdn.net/gtmdCSN/article/details/107132050