Python';装载机,是什么?
我已经看到术语Python';装载机,是什么?,python,loader,python-import,Python,Loader,Python Import,我已经看到术语\uuuuu loader\uuuu在一些Python文件中浮动,除了一些关于其用途的简要描述之外,我找不到任何关于它的文档,但它们仍然没有提供足够的信息让我更好地理解它。我所知道的只是它与导入模块有关,而不是我完全不知所措。它有什么作用?什么时候用?如果有的话,我怎么用呢 什么是\uuuuuuuuuuuuuuuuuuu \uuuuu加载程序\uuuuu是一个属性,由其加载程序在导入的模块上设置。访问它应该返回加载器对象本身 在3.3之前的Python版本中,\uuuuuu加载器\
\uuuuu loader\uuuu
在一些Python文件中浮动,除了一些关于其用途的简要描述之外,我找不到任何关于它的文档,但它们仍然没有提供足够的信息让我更好地理解它。我所知道的只是它与导入模块有关,而不是我完全不知所措。它有什么作用?什么时候用?如果有的话,我怎么用呢
什么是\uuuuuuuuuuuuuuuuuuu
\uuuuu加载程序\uuuuu
是一个属性,由其加载程序在导入的模块上设置。访问它应该返回加载器对象本身
在3.3之前的Python版本中,\uuuuuu加载器\uuuuu
不是由内置的导入机制设置的。相反,此属性仅在使用自定义加载程序导入的模块上可用
但是,在Python3.3中,由于出现了错误,此功能发生了更改。现在,导入的每个模块上都可以使用\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu
:
>>> # Python 3.3 interpreter
>>> import os
>>> os.__loader__
<_frozen_importlib.SourceFileLoader object at 0x01F86370>
>>>
如果hasattr(os,'.\uu loader\uu')
返回True
,则表示os
模块是使用自定义加载程序导入的。由于没有,这意味着模块是使用内置的导入机器导入的
注意:由于PEP 0302所做的更改,上述测试在Python 3.3+中不起作用
我不知道。。。你在哪里看到的?这是我第一次看到这样的东西……我在内置模块
linecache
中看到了它,我又在回溯
中看到了它。
>>> # Python 3.2 interpreter
>>> import os
>>> hasattr(os, '__loader__')
False
>>>