本文由 大侠(AhcaoZhu)原创,转载请声明。
链接: https://blog.csdn.net/Ahcao2008
一图看懂 importlib_metadata 模块:用于提供第三方访问Python包的元数据的库,资料整理+笔记(大全)
- 🧊摘要
- 🧊模块图
- 🧊类关系图
- 🧊模块全展开
- ☘️【importlib_metadata】
- 🔵统计
- 🔵模块
- 🌿1 os
- 🌿2 re
- 🌿3 abc
- 🌿4 csv
- 🌿5 sys
- 🌿6 zipp
- 🌿7 email
- 🌿8 inspect
- 🌿9 pathlib
- 🌿10 operator
- 🌿11 textwrap
- 🌿12 warnings
- 🌿13 functools
- 🌿14 itertools
- 🌿15 posixpath
- 🌿16 contextlib
- 🌿17 collections
- 🌿18 importlib_metadata._functools
- 🌿19 importlib_metadata._text
- 🌿20 importlib_metadata._compat
- 🌿21 importlib_metadata._adapters
- 🌿22 importlib_metadata._meta
- 🌿23 importlib_metadata._py39compat
- 🌿24 importlib_metadata._collections
- 🌿25 importlib_metadata._itertools
- 🔵函数
- 🌿26 install(cls)
- 🌿27 pypy_partial(val)
- 🌿28 method_cache(method, cache_wrapper=None)
- 🌿29 pass_none(func)
- 🌿30 always_iterable(obj, base_type=(<class 'str'>, <class 'bytes'>))
- 🌿31 unique_everseen(iterable, key=None)
- 🌿32 import_module(name, package=None)
- 🌿33 cast(typ, val)
- 🌿34 distribution(distribution_name) -> importlib_metadata.Distribution
- 🌿35 distributions(**kwargs) -> Iterable[importlib_metadata.Distribution]
- 🌿36 metadata(distribution_name) -> importlib_metadata._meta.PackageMetadata
- 🌿37 version(distribution_name) -> str
- 🌿38 entry_points(**params) -> importlib_metadata.EntryPoints
- 🌿39 files(distribution_name) -> Union[List[importlib_metadata.PackagePath], NoneType]
- 🌿40 requires(distribution_name) -> Union[List[str], NoneType]
- 🌿41 packages_distributions() -> Mapping[str, List[str]]
- 🌿42 _top_level_declared(dist)
- 🌿43 _top_level_inferred(dist)
- 🔵类
- 🌿44 importlib_metadata._collections.FreezableDefaultDict
- method
- 1 freeze(self)
- 🌿45 importlib_metadata._collections.Pair
- class method
- 1 parse(cls, text)
- 🌿46 importlib_metadata._compat.NullFinder
- static method
- 1 find_module()
- 2 find_spec(*args, **kwargs)
- 🌿47 importlib_metadata._meta.PackageMetadata
- property
- method
- 2 get(self, name: str, failobj: None = None) -> Optional[str]:
- 3 get_all(self, name: str, failobj: None = None) -> Optional[List[Any]]:
- 🌿48 importlib_metadata._meta.SimplePath
- property
- method
- 2 joinpath(self, other: Union[str, _T]) -> _T:
- 3 read_text(self) -> str:
- 🌿49 contextlib.suppress
- 🌿50 importlib.abc.MetaPathFinder
- method
- 1 find_module(self, fullname, path)
- 2 invalidate_caches(self)
- 🌿51 itertools.starmap
- 🌿52 importlib_metadata.PackageNotFoundError
- property
- 🌿53 importlib_metadata.Sectioned
- static method
- 1 read(text, filter_=None)
- 2 valid(line: str)
- class method
- 3 section_pairs(cls, text)
- 🌿54 importlib_metadata.DeprecatedTuple
- 🌿55 importlib_metadata.EntryPoint
- data
- property
- method
- 6 load(self)
- 7 matches(self, **params)
- 🌿56 importlib_metadata.EntryPoints
- property
- method
- 3 select(self, **params)
- 🌿57 importlib_metadata.PackagePath
- method
- 1 locate(self) -> pathlib.Path:
- 2 read_binary(self) -> bytes:
- 3 read_text(self, encoding: str = 'utf-8') -> str:
- 🌿58 importlib_metadata.FileHash
- 🌿59 importlib_metadata.DeprecatedNonAbstract
- 🌿60 importlib_metadata.Distribution
- property
- method
- 7 locate_file(self, path: StrPath) -> pathlib.Path:
- 8 read_text(self, filename) -> Optional[str]:
- static method
- 9 at(path: StrPath) -> "Distribution":
- class method
- 10 discover(cls, **kwargs) -> Iterable["Distribution"]:
- 11 from_name(cls, name: str) -> "Distribution":
- 🌿61 importlib_metadata.DistributionFinder
- data
- method
- 2 find_distributions(self, context=Context()) -> Iterable[Distribution]:
- 🌿62 importlib_metadata.FastPath
- property
- method
- 2 children(self)
- 3 joinpath(self, child)
- 4 lookup(self, mtime)
- 5 search(self, name)
- 6 zip_children(self)
- 🌿63 importlib_metadata.Lookup
- method
- 1 search(self, prepared)
- 🌿64 importlib_metadata.Prepared
- data
- static method
- 3 legacy_normalize(name)
- 4 normalize(name)
- 🌿65 importlib_metadata.MetadataPathFinder
- method
- 1 find_distributions(
- 2 invalidate_caches(cls) -> None:
- 🌿66 importlib_metadata.PathDistribution
- method
- 1 locate_file(self, path: StrPath) -> pathlib.Path:
- 2 read_text(self, filename: StrPath) -> Optional[str]:
- 🔵私有或局部
- 🔵剩余
- ☘️【os】
- ☘️【re】
- ☘️【abc】
- ☘️【csv】
- ☘️【sys】
- ☘️【zipp】
- ☘️【email】
- ☘️【inspect】
- ☘️【pathlib】
- ☘️【operator】
- ☘️【textwrap】
- ☘️【warnings】
- ☘️【functools】
- ☘️【itertools】
- ☘️【posixpath】
- ☘️【contextlib】
- ☘️【collections】
- ☘️【importlib_metadata._functools】
- ☘️【importlib_metadata._text】
- ☘️【importlib_metadata._compat】
- ☘️【importlib_metadata._adapters】
- ☘️【importlib_metadata._meta】
- ☘️【importlib_metadata._py39compat】
- ☘️【importlib_metadata._collections】
- ☘️【importlib_metadata._itertools】
- ☘️【types】
- ☘️【platform】
🧊摘要
- 全文介绍python的 importlib_metadata 模块(用于提供第三方访问Python包的元数据的库)、函数、类及类的方法和属性。
- 它通过代码抓取并经AI智能翻译和人工校对。
- 是一部不可多得的权威字典类工具书。它是系列集的一部分。后续陆续发布、敬请关注。【原创:AhcaoZhu大侠】
🧊模块图
importlib_metadata
importlib_metadata._functools
importlib_metadata._text
importlib_metadata._compat
importlib_metadata._adapters
importlib_metadata._meta
importlib_metadata._py39compat
importlib_metadata._collections
importlib_metadata._itertools
🧊类关系图
◆object
◆BaseException
◆Exception
◆ImportError
◆ModuleNotFoundError
importlib_metadata.PackageNotFoundError
◆dict
◆collections.defaultdict
importlib_metadata._collections.FreezableDefaultDict
◆email.message.Message
importlib_metadata._adapters.Message
◆importlib.abc.Finder
◆importlib.abc.MetaPathFinder
importlib_metadata.DistributionFinder
importlib_metadata._compat.NullFinder
importlib_metadata.MetadataPathFinder
importlib_metadata.DeprecatedNonAbstract
importlib_metadata.Distribution
importlib_metadata.PathDistribution
importlib_metadata.DeprecatedTuple
importlib_metadata.EntryPoint
importlib_metadata.FastPath
importlib_metadata.FileHash
importlib_metadata.Lookup
importlib_metadata.Prepared
importlib_metadata.Sectioned
importlib_metadata._compat.NullFinder
◆pathlib.PurePath
◆pathlib.PurePosixPath
importlib_metadata.PackagePath
◆str
importlib_metadata._text.FoldedCase
◆tuple
importlib_metadata.EntryPoints
importlib_metadata._collections.Pair
importlib_metadata._collections.Pair
◆typing_extensions.Protocol
importlib_metadata._meta.PackageMetadata
importlib_metadata._meta.SimplePath
🧊模块全展开
☘️【importlib_metadata】
importlib_metadata, fullname=importlib_metadata, file=importlib_metadata_init_.py
🔵统计
序号 | 类别 | 数量 |
---|---|---|
4 | str | 4 |
6 | list | 2 |
8 | dict | 1 |
9 | module | 25 |
10 | class | 23 |
11 | function | 18 |
13 | residual | 10 |
14 | system | 10 |
15 | private | 11 |
16 | all | 83 |
🔵模块
🌿1 os
os, fullname=os, file=os.py
🌿2 re
re, fullname=re, file=re.py
🌿3 abc
abc, fullname=abc, file=abc.py
🌿4 csv
csv, fullname=csv, file=csv.py
CSV解析和编写。该模块提供了帮助读取和写入逗号分隔值(CSV)文件的类,并实现了PEP 305描述的接口。
🌿5 sys
sys, fullname=sys, file=
🌿6 zipp
zipp, fullname=zipp, file=zipp_init_.py
🌿7 email
email, fullname=email, file=email_init_.py
🌿8 inspect
inspect, fullname=inspect, file=inspect.py
🌿9 pathlib
pathlib, fullname=pathlib, file=pathlib.py
🌿10 operator
operator, fullname=operator, file=operator.py
🌿11 textwrap
textwrap, fullname=textwrap, file=textwrap.py
🌿12 warnings
warnings, fullname=warnings, file=warnings.py
🌿13 functools
functools, fullname=functools, file=functools.py
🌿14 itertools
itertools, fullname=itertools, file=
🌿15 posixpath
posixpath, fullname=posixpath, file=posixpath.py
🌿16 contextlib
contextlib, fullname=contextlib, file=contextlib.py
🌿17 collections
collections, fullname=collections, file=collections_init_.py
🌿18 importlib_metadata._functools
_functools, fullname=importlib_metadata._functools, file=importlib_metadata_functools.py
🌿19 importlib_metadata._text
_text, fullname=importlib_metadata._text, file=importlib_metadata_text.py
🌿20 importlib_metadata._compat
_compat, fullname=importlib_metadata._compat, file=importlib_metadata_compat.py
🌿21 importlib_metadata._adapters
_adapters, fullname=importlib_metadata._adapters, file=importlib_metadata_adapters.py
🌿22 importlib_metadata._meta
_meta, fullname=importlib_metadata._meta, file=importlib_metadata_meta.py
🌿23 importlib_metadata._py39compat
_py39compat, fullname=importlib_metadata._py39compat, file=importlib_metadata_py39compat.py
Python 3.8/3.9的兼容层
🌿24 importlib_metadata._collections
_collections, fullname=importlib_metadata._collections, file=importlib_metadata_collections.py
🌿25 importlib_metadata._itertools
_itertools, fullname=importlib_metadata._itertools, file=importlib_metadata_itertools.py
🔵函数
🌿26 install(cls)
install(cls), module=importlib_metadata._compat, line:18 at site-packages\importlib_metadata_compat.py
类装饰器,用于在 sys.meta_path 上安装。
将后端口DistributionFinder添加到 sys.meta_path 并尝试禁用stdlib DistributionFinder的查找器功能。
🌿27 pypy_partial(val)
pypy_partial(val), module=importlib_metadata._compat, line:68 at site-packages\importlib_metadata_compat.py
在PyPy下调整局部变量的堆栈级别。
#327的解决方案。
🌿28 method_cache(method, cache_wrapper=None)
method_cache(method, cache_wrapper=None), module=importlib_metadata._functools, line:6 at site-packages\importlib_metadata_functools.py
包装lru缓存以支持在对象实例中存储缓存数据。
抽象通用范例,其中方法在第一次调用时显式保存带下划线前缀的受保护属性并随后返回该属性。
>>> class MyClass:
... calls = 0
...
... @method_cache
... def method(self, value):
... self.calls += 1
... return value
>>> a = MyClass()
>>> a.method(3)
3
>>> for x in range(75):
... res = a.method(x)
>>> a.calls
75
请注意,表面上的行为将与lru_cache完全相似,只是缓存存储在每个实例上,
因此一个实例中的值不会刷新另一个实例中的值,并且当删除实例时,该实例的缓存值也会删除。
>>> b = MyClass()
>>> for x in range(35):
... res = b.method(x)
>>> b.calls
35
>>> a.method(0)
0
>>> a.calls
75
注意if方法已经用 ``functools.lru_cache()`` 修饰过了,a.calls 的值应该是76(由于'b'实例刷新了缓存值0).
使用``.cache_clear()``清除缓存。
>>> a.method.cache_clear()
对于尚未调用的方法也是如此。
>>> c = MyClass()
>>> c.method.cache_clear()
可以提供另一个缓存包装器:
>>> cache = functools.lru_cache(maxsize=2)
>>> MyClass.method2 = method_cache(lambda self: 3, cache_wrapper=cache)
>>> a = MyClass()
>>> a.method2()
3
注意-不要随后用另一个装饰器包装方法,例如 ``@property``, 这会改变函数的语义。
另请[参见](http://code.activestate.com/recipes/577452-a-memoize-decorator-for-instance-methods/)了解另一个实现和附加理由。
🌿29 pass_none(func)
pass_none(func), module=importlib_metadata._functools, line:89 at site-packages\importlib_metadata_functools.py
换行函数,如果它的第一个参数是None则不调用。
>>> print_text = pass_none(print)
>>> print_text('text')
text
>>> print_text(None)
🌿30 always_iterable(obj, base_type=(<class ‘str’>, <class ‘bytes’>))
always_iterable(obj, base_type=(<class ‘str’>, <class ‘bytes’>)), module=importlib_metadata._itertools, line:23 at site-packages\importlib_metadata_itertools.py
如果*obj*是可迭代的,则返回其项上的迭代器。
>>> obj = (1, 2, 3)
>>> list(always_iterable(obj))
[1, 2, 3]
如果*obj*不可迭代,则返回一个包含*obj*的单项可迭代对象:
>>> obj = 1
>>> list(always_iterable(obj))
[1]
如果*obj*为``None``,返回一个空可迭代对象:
>>> obj = None
>>> list(always_iterable(None))
[]
默认情况下,二进制字符串和文本字符串不被认为是可迭代的::
>>> obj = 'foo'
>>> list(always_iterable(obj))
['foo']
如果设置了*base_type*, ``isinstance(obj, base_type)`` 返回``True``的对象将不被认为是可迭代的。
>>> obj = {'a': 1}
>>> list(always_iterable(obj)) # Iterate over the dict's keys
['a']
>>> list(always_iterable(obj, base_type=dict)) # Treat dicts as a unit
[{'a': 1}]
将*base_type*设置为 ``None`` 以避免任何特殊处理并将Python认为可迭代的对象视为可迭代的:
>>> obj = 'foo'
>>> list(always_iterable(obj, base_type=None))
['f', 'o', 'o']
🌿31 unique_everseen(iterable, key=None)
unique_everseen(iterable, key=None), module=importlib_metadata._itertools, line:4 at site-packages\importlib_metadata_itertools.py
列出唯一的元素,保持顺序。
记住所有见过的元素。
🌿32 import_module(name, package=None)
import_module(name, package=None), module=importlib, line:109 at importlib_init_.py
导入模块。在执行相对导入时需要'package'参数。
它指定要使用的包作为定位点,从该定位点将相对导入解析为绝对导入。
🌿33 cast(typ, val)
cast(typ, val), module=typing, line:898 at typing.py
将值强制转换为类型。
这将返回不变的值。对于类型检查器,这表明返回值具有指定的类型,但在运行时,我们故意不检查任何内容(我们希望这尽可能快)。
🌿34 distribution(distribution_name) -> importlib_metadata.Distribution
distribution(distribution_name) -> importlib_metadata.Distribution, module=importlib_metadata, line:877 at site-packages\importlib_metadata_init_.py
获取命名包的 ``Distribution`` 实例。
:param distribution_name: 分发包的字符串形式的名称。
:return: ``Distribution``实例(或其子类)。
🌿35 distributions(**kwargs) -> Iterable[importlib_metadata.Distribution]
distributions(**kwargs) -> Iterable[importlib_metadata.Distribution], module=importlib_metadata, line:886 at site-packages\importlib_metadata_init_.py
获取当前环境中的所有 ``Distribution`` 实例。
:return: ``Distribution``实例的可迭代对象。
🌿36 metadata(distribution_name) -> importlib_metadata._meta.PackageMetadata
metadata(distribution_name) -> importlib_metadata.meta.PackageMetadata, module=importlib_metadata, line:894 at site-packages\importlib_metadata_init.py
获取命名包的元数据。
:param distribution_name: 要查询的发行包名称。
:return: 包含解析元数据的PackageMetadata。
🌿37 version(distribution_name) -> str
version(distribution_name) -> str, module=importlib_metadata, line:903 at site-packages\importlib_metadata_init_.py
获取指定包的版本字符串。
:param distribution_name: 要查询的发行包名称。
:return: 在包的“version”元数据键中定义的包的版本字符串。
🌿38 entry_points(**params) -> importlib_metadata.EntryPoints
entry_points(**params) -> importlib_metadata.EntryPoints, module=importlib_metadata, line:922 at site-packages\importlib_metadata_init_.py
返回所有已安装包的EntryPoint对象。
传递选择参数(组或名称)以将结果过滤到匹配这些属性的入口点(请参阅EntryPoints.select())。
:return: 所有安装包的EntryPoints。
🌿39 files(distribution_name) -> Union[List[importlib_metadata.PackagePath], NoneType]
files(distribution_name) -> Union[List[importlib_metadata.PackagePath], NoneType], module=importlib_metadata, line:937 at site-packages\importlib_metadata_init_.py
返回指定包的文件列表。
:param distribution_name: 要查询的发行包名称。
:return: 组成发行版的文件列表。
🌿40 requires(distribution_name) -> Union[List[str], NoneType]
requires(distribution_name) -> Union[List[str], NoneType], module=importlib_metadata, line:946 at site-packages\importlib_metadata_init_.py
返回指定包的需求列表。
:return: 需求的迭代,适合于 packaging.requirement.Requirement 。
🌿41 packages_distributions() -> Mapping[str, List[str]]
packages_distributions() -> Mapping[str, List[str]], module=importlib_metadata, line:956 at site-packages\importlib_metadata_init_.py
返回顶级包到其发行版的映射。
>>> import collections.abc
>>> pkgs = packages_distributions()
>>> all(isinstance(dist, collections.abc.Sequence) for dist in pkgs.values())
True
🌿42 _top_level_declared(dist)
top_level_declared(dist), module=importlib_metadata, line:973 at site-packages\importlib_metadata_init.py
🌿43 _top_level_inferred(dist)
top_level_inferred(dist), module=importlib_metadata, line:977 at site-packages\importlib_metadata_init.py
🔵类
🌿44 importlib_metadata._collections.FreezableDefaultDict
FreezableDefaultDict, importlib_metadata._collections.FreezableDefaultDict, module=importlib_metadata._collections, line:5 at site-packages\importlib_metadata_collections.py
通常,我们希望在缺省字典的初始构造之后防止它的变异,例如在迭代期间防止变异。
>>> dd = FreezableDefaultDict(list)
>>> dd[0].append('1')
>>> dd.freeze()
>>> dd[1]
[]
>>> len(dd)
1
method
1 freeze(self)
kind=method class=FreezableDefaultDict objtype=function line:23 at …\lib\site-packages\importlib_metadata_collections.py
🌿45 importlib_metadata._collections.Pair
Pair, importlib_metadata._collections.Pair, module=importlib_metadata._collections, line:27 at site-packages\importlib_metadata_collections.py
class method
1 parse(cls, text)
kind=class method class=Pair objtype=classmethod line:29 at …\lib\site-packages\importlib_metadata_collections.py
将函数转换为类方法。
🌿46 importlib_metadata._compat.NullFinder
NullFinder, importlib_metadata._compat.NullFinder, module=importlib_metadata._compat, line:49 at site-packages\importlib_metadata_compat.py
一个“查找器”(又名“MetaClassFinder”),它永远不会找到任何模块,但可能会找到发行版。
static method
1 find_module()
kind=static method class=NullFinder objtype=staticmethod
staticmethod(function) -> method将函数转换为静态方法。
2 find_spec(*args, **kwargs)
kind=static method class=NullFinder objtype=staticmethod line:56 at …\lib\site-packages\importlib_metadata_compat.py
staticmethod(function) -> method将函数转换为静态方法。
🌿47 importlib_metadata._meta.PackageMetadata
PackageMetadata, importlib_metadata._meta.PackageMetadata, module=importlib_metadata._meta, line:8 at site-packages\importlib_metadata_meta.py
property
1 json=<property object at 0x0000013953770F48> kind:property type:property class:<class ‘importlib_metadata._meta.PackageMetadata’>
method
2 get(self, name: str, failobj: None = None) -> Optional[str]:
kind=method class=PackageMetadata objtype=function line:22 at …\lib\site-packages\importlib_metadata_meta.py
当@overload被调用时触发的Helper。
3 get_all(self, name: str, failobj: None = None) -> Optional[List[Any]]:
kind=method class=PackageMetadata objtype=function line:31 at …\lib\site-packages\importlib_metadata_meta.py
当@overload被调用时触发的Helper。
🌿48 importlib_metadata._meta.SimplePath
SimplePath, importlib_metadata._meta.SimplePath, module=importlib_metadata._meta, line:47 at site-packages\importlib_metadata_meta.py
pathlib的最小子集。PathDistribution所需的路径。
property
1 parent=<property object at 0x0000013953777228> kind:property type:property class:<class ‘importlib_metadata._meta.SimplePath’>
method
2 joinpath(self, other: Union[str, _T]) -> _T:
kind=method class=SimplePath objtype=function line:52 at …\lib\site-packages\importlib_metadata_meta.py
3 read_text(self) -> str:
kind=method class=SimplePath objtype=function line:62 at …\lib\site-packages\importlib_metadata_meta.py
🌿49 contextlib.suppress
suppress, contextlib.suppress, module=contextlib, line:0 at
上下文管理器来抑制指定的异常
异常被抑制后,继续执行with语句后面的下一条语句。
with suppress(FileNotFoundError):
os.remove(somefile)
# 如果文件已经被删除,执行仍然会继续
🌿50 importlib.abc.MetaPathFinder
MetaPathFinder, importlib.abc.MetaPathFinder, module=importlib.abc, line:50 at importlib\abc.py
导入查找器的抽象基类。元的道路。
method
1 find_module(self, fullname, path)
kind=method class=MetaPathFinder objtype=function line:57 at …\lib\importlib\abc.py
返回模块的加载器。
如果没有找到模块,则返回None。全名为str,路径为字符串列表或None。
此方法自Python 3.4以来已弃用,而支持finder.find_spec()。
如果find_spec()存在,则为该方法提供向后兼容的功能。
2 invalidate_caches(self)
kind=method class=MetaPathFinder objtype=function line:78 at …\lib\importlib\abc.py
清除查找器缓存(如果有的话)的可选方法。
importlib.invalidate_caches() 使用这个方法。
🌿51 itertools.starmap
starmap, itertools.starmap, module=itertools, line:0 at
starmap(function, sequence) -> starmap object
返回一个迭代器,该迭代器的值是从给定序列的参数元组求值的函数返回的。
🌿52 importlib_metadata.PackageNotFoundError
PackageNotFoundError, importlib_metadata.PackageNotFoundError, module=importlib_metadata, line:53 at site-packages\importlib_metadata_init_.py
包裹没有找到。
property
1 name=<property object at 0x00000139537708B8> kind:property type:property class:<class ‘importlib_metadata.PackageNotFoundError’>
🌿53 importlib_metadata.Sectioned
Sectioned, importlib_metadata.Sectioned, module=importlib_metadata, line:65 at site-packages\importlib_metadata_init_.py
一个简单的入口点配置解析器,用于性能
>>> 对于在 Sectioned.read(Sectioned._sample)中的条目:
... print(item)
Pair(name='sec1', value='# comments ignored')
Pair(name='sec1', value='a = 1')
Pair(name='sec1', value='b = 2')
Pair(name='sec2', value='a = 2')
>>> res = Sectioned.section_pairs(Sectioned._sample)
>>> item = next(res)
>>> item.name
'sec1'
>>> item.value
Pair(name='a', value='1')
>>> item = next(res)
>>> item.value
Pair(name='b', value='2')
>>> item = next(res)
>>> item.name
'sec2'
>>> item.value
Pair(name='a', value='2')
>>> list(res)
[]
static method
1 read(text, filter_=None)
kind=static method class=Sectioned objtype=staticmethod line:115 at …\lib\site-packages\importlib_metadata_init_.py
staticmethod(function) -> method将函数转换为静态方法。
2 valid(line: str)
kind=static method class=Sectioned objtype=staticmethod line:126 at …\lib\site-packages\importlib_metadata_init_.py
staticmethod(function) -> method将函数转换为静态方法。
class method
3 section_pairs(cls, text)
kind=class method class=Sectioned objtype=classmethod line:107 at …\lib\site-packages\importlib_metadata_init_.py
将函数转换为类方法。
🌿54 importlib_metadata.DeprecatedTuple
DeprecatedTuple, importlib_metadata.DeprecatedTuple, module=importlib_metadata, line:130 at site-packages\importlib_metadata_init_.py
提供下标项访问以实现向后兼容性。
>>> recwarn = getfixture('recwarn')
>>> ep = EntryPoint(name='name', value='value', group='group')
>>> ep[:]
('name', 'value', 'group')
>>> ep[0]
'name'
>>> len(recwarn)
1
🌿55 importlib_metadata.EntryPoint
EntryPoint, importlib_metadata.EntryPoint, module=importlib_metadata, line:157 at site-packages\importlib_metadata_init_.py
一个由Python打包约定定义的入口点。
有关更多信息,请参阅[入口点的打包文档](https://packaging.python.org/specifications/entry-points/)。
>>> ep = EntryPoint(name=None, group=None, value='package.module:attr [extra1, extra2]')
>>> ep.module
'package.module'
>>> ep.attr
'attr'
>>> ep.extras
['extra1', 'extra2']
data
1 dist=None kind:data type:NoneType class:<class ‘importlib_metadata.EntryPoint’>
2 pattern=re.compile(‘(?P[\w.]+)\s*(:\s*(?P[\w.]+)\s*)?((?P\[.\])\s)?$’) kind:data type:Pattern class:<class ‘importlib_metadata.EntryPoint’>
property
3 attr=<property object at 0x000001395377AF48> kind:property type:property class:<class ‘importlib_metadata.EntryPoint’>
4 extras=<property object at 0x000001395377AF98> kind:property type:property class:<class ‘importlib_metadata.EntryPoint’>
5 module=<property object at 0x000001395377AC28> kind:property type:property class:<class ‘importlib_metadata.EntryPoint’>
method
6 load(self)
kind=method class=EntryPoint objtype=function line:204 at …\lib\site-packages\importlib_metadata_init_.py
从入口点的定义加载入口点。
如果该值只指示了一个模块,则返回该模块。否则,返回命名对象。
7 matches(self, **params)
kind=method class=EntryPoint objtype=function line:236 at …\lib\site-packages\importlib_metadata_init_.py
EntryPoint匹配给定的参数。
>>> ep = EntryPoint(group='foo', name='bar', value='bing:bong [extra1, extra2]')
>>> ep.matches(group='foo')
True
>>> ep.matches(name='bar', value='bing:bong [extra1, extra2]')
True
>>> ep.matches(group='foo', name='other')
False
>>> ep.matches()
True
>>> ep.matches(extras=['extra1', 'extra2'])
True
>>> ep.matches(module='bing')
True
>>> ep.matches(attr='bong')
True
🌿56 importlib_metadata.EntryPoints
EntryPoints, importlib_metadata.EntryPoints, module=importlib_metadata, line:281 at site-packages\importlib_metadata_init_.py
可选择的EntryPoint对象的不可变集合。
property
1 groups=<property object at 0x000001395377C0E8> kind:property type:property class:<class ‘importlib_metadata.EntryPoints’>
2 names=<property object at 0x000001395377C098> kind:property type:property class:<class ‘importlib_metadata.EntryPoints’>
method
3 select(self, **params)
kind=method class=EntryPoints objtype=function line:297 at …\lib\site-packages\importlib_metadata_init_.py
从self中选择与给定参数(通常是组和/或名称)匹配的入口点。
🌿57 importlib_metadata.PackagePath
PackagePath, importlib_metadata.PackagePath, module=importlib_metadata, line:330 at site-packages\importlib_metadata_init_.py
对包中路径的引用
method
1 locate(self) -> pathlib.Path:
kind=method class=PackagePath objtype=function line:345 at …\lib\site-packages\importlib_metadata_init_.py
返回此路径的类路径对象
2 read_binary(self) -> bytes:
kind=method class=PackagePath objtype=function line:341 at …\lib\site-packages\importlib_metadata_init_.py
3 read_text(self, encoding: str = ‘utf-8’) -> str:
kind=method class=PackagePath objtype=function line:337 at …\lib\site-packages\importlib_metadata_init_.py
🌿58 importlib_metadata.FileHash
FileHash, importlib_metadata.FileHash, module=importlib_metadata, line:350 at site-packages\importlib_metadata_init_.py
🌿59 importlib_metadata.DeprecatedNonAbstract
DeprecatedNonAbstract, importlib_metadata.DeprecatedNonAbstract, module=importlib_metadata, line:358 at site-packages\importlib_metadata_init_.py
🌿60 importlib_metadata.Distribution
Distribution, importlib_metadata.Distribution, module=importlib_metadata, line:377 at site-packages\importlib_metadata_init_.py
Python发行包。
property
1 entry_points=<property object at 0x000001395377CB88> kind:property type:property class:<class ‘importlib_metadata.Distribution’>
2 files=<property object at 0x000001395377CCC8> kind:property type:property class:<class ‘importlib_metadata.Distribution’>
3 metadata=<property object at 0x000001395377C818> kind:property type:property class:<class ‘importlib_metadata.Distribution’>
4 name=<property object at 0x000001395377CA98> kind:property type:property class:<class ‘importlib_metadata.Distribution’>
5 requires=<property object at 0x000001395377CD18> kind:property type:property class:<class ‘importlib_metadata.Distribution’>
6 version=<property object at 0x000001395377CB38> kind:property type:property class:<class ‘importlib_metadata.Distribution’>
method
7 locate_file(self, path: StrPath) -> pathlib.Path:
kind=method class=Distribution objtype=function line:389 at …\lib\site-packages\importlib_metadata_init_.py
给定此发行版中某个文件的路径,返回该文件的路径。
8 read_text(self, filename) -> Optional[str]:
kind=method class=Distribution objtype=function line:381 at …\lib\site-packages\importlib_metadata_init_.py
尝试加载由名称指定的元数据文件。
:param filename: 发布信息中的文件名称。
:return: 如果找到则返回文本,否则返回None。
static method
9 at(path: StrPath) -> “Distribution”:
kind=static method class=Distribution objtype=staticmethod line:432 at …\lib\site-packages\importlib_metadata_init_.py
staticmethod(function) -> method将函数转换为静态方法。
class method
10 discover(cls, **kwargs) -> Iterable[“Distribution”]:
kind=class method class=Distribution objtype=classmethod line:414 at …\lib\site-packages\importlib_metadata_init_.py
将函数转换为类方法。
11 from_name(cls, name: str) -> “Distribution”:
kind=class method class=Distribution objtype=classmethod line:396 at …\lib\site-packages\importlib_metadata_init_.py
将函数转换为类方法。
🌿61 importlib_metadata.DistributionFinder
DistributionFinder, importlib_metadata.DistributionFinder, module=importlib_metadata, line:623 at site-packages\importlib_metadata_init_.py
能够发现已安装的发行版的MetaPathFinder。
data
1 Context=<class ‘importlib_metadata.DistributionFinder.Context’> kind:data type:type class:<class ‘importlib_metadata.DistributionFinder’>
method
2 find_distributions(self, context=Context()) -> Iterable[Distribution]:
kind=method class=DistributionFinder objtype=function line:661 at …\lib\site-packages\importlib_metadata_init_.py
找到分布。
返回一个可迭代对象,包含所有能够加载与 ``context`` 匹配的包的元数据的Distribution实例,一个 DistributionFinder.Context 上下文实例。
🌿62 importlib_metadata.FastPath
FastPath, importlib_metadata.FastPath, module=importlib_metadata, line:671 at site-packages\importlib_metadata_init_.py
为子路径寻找路径的微优化类。
>>> FastPath('').children()
['...']
property
1 mtime=<property object at 0x0000013953781458> kind:property type:property class:<class ‘importlib_metadata.FastPath’>
method
2 children(self)
kind=method class=FastPath objtype=function line:690 at …\lib\site-packages\importlib_metadata_init_.py
3 joinpath(self, child)
kind=method class=FastPath objtype=function line:687 at …\lib\site-packages\importlib_metadata_init_.py
4 lookup(self, mtime)
kind=method class=FastPath objtype=function line:714 at …\lib\site-packages\importlib_metadata_init_.py
5 search(self, name)
kind=method class=FastPath objtype=function line:704 at …\lib\site-packages\importlib_metadata_init_.py
6 zip_children(self)
kind=method class=FastPath objtype=function line:697 at …\lib\site-packages\importlib_metadata_init_.py
🌿63 importlib_metadata.Lookup
Lookup, importlib_metadata.Lookup, module=importlib_metadata, line:718 at site-packages\importlib_metadata_init_.py
method
1 search(self, prepared)
kind=method class=Lookup objtype=function line:740 at …\lib\site-packages\importlib_metadata_init_.py
🌿64 importlib_metadata.Prepared
Prepared, importlib_metadata.Prepared, module=importlib_metadata, line:754 at site-packages\importlib_metadata_init_.py
对可能命名的包的元数据进行有准备的搜索。
data
1 legacy_normalized=None kind:data type:NoneType class:<class ‘importlib_metadata.Prepared’>
2 normalized=None kind:data type:NoneType class:<class ‘importlib_metadata.Prepared’>
static method
3 legacy_normalize(name)
kind=static method class=Prepared objtype=staticmethod line:777 at …\lib\site-packages\importlib_metadata_init_.py
staticmethod(function) -> method将函数转换为静态方法。
4 normalize(name)
kind=static method class=Prepared objtype=staticmethod line:770 at …\lib\site-packages\importlib_metadata_init_.py
staticmethod(function) -> method将函数转换为静态方法。
🌿65 importlib_metadata.MetadataPathFinder
MetadataPathFinder, importlib_metadata.MetadataPathFinder, module=importlib_metadata, line:789 at site-packages\importlib_metadata_init_.py
文件系统上发布包的简并查找器。
此查找器仅为没有PathFinder find_distribution()的Python版本提供find_distribution()方法。
method
1 find_distributions(
kind=method class=MetadataPathFinder objtype=function line:796 at …\lib\site-packages\importlib_metadata_init_.py
找到分布。
返回一个可迭代对象,其中包含所有能够加载匹配 ``context.name``的包的元数据的分发实例(如果指定``None``,则为所有名称),
沿着目录 ``context.path`` 列表中的路径。
2 invalidate_caches(cls) -> None:
kind=method class=MetadataPathFinder objtype=function line:818 at …\lib\site-packages\importlib_metadata_init_.py
🌿66 importlib_metadata.PathDistribution
PathDistribution, importlib_metadata.PathDistribution, module=importlib_metadata, line:822 at site-packages\importlib_metadata_init_.py
method
1 locate_file(self, path: StrPath) -> pathlib.Path:
kind=method class=PathDistribution objtype=function line:844 at …\lib\site-packages\importlib_metadata_init_.py
2 read_text(self, filename: StrPath) -> Optional[str]:
kind=method class=PathDistribution objtype=function line:830 at …\lib\site-packages\importlib_metadata_init_.py
尝试加载由名称指定的元数据文件。:param filename::return:
:param filename: 发布信息中的文件名称。
:return: 如果找到则返回文本,否则返回None。
🔵私有或局部
67 _functools <module ‘importlib_metadata._functools’ from ‘…\lib\site-packages\importlib_metadata_functools.py’>
68 _text <module ‘importlib_metadata._text’ from ‘…\lib\site-packages\importlib_metadata_text.py’>
69 _compat <module ‘importlib_metadata._compat’ from ‘…\lib\site-packages\importlib_metadata_compat.py’>
70 _adapters <module ‘importlib_metadata._adapters’ from ‘…\lib\site-packages\importlib_metadata_adapters.py’>
71 _meta <module ‘importlib_metadata._meta’ from ‘…\lib\site-packages\importlib_metadata_meta.py’>
72 _py39compat <module ‘importlib_metadata._py39compat’ from ‘…\lib\site-packages\importlib_metadata_py39compat.py’>
73 _collections <module ‘importlib_metadata._collections’ from ‘…\lib\site-packages\importlib_metadata_collections.py’>
74 _itertools <module ‘importlib_metadata._itertools’ from ‘…\lib\site-packages\importlib_metadata_itertools.py’>
75 _unique functools.partial(<function unique_everseen at 0x000001395374FCA8>, key=<function normalized_name at 0x000001395374FAF8>)
76 _top_level_declared <function _top_level_declared at 0x0000013953787168>
77 _top_level_inferred <function _top_level_inferred at 0x00000139537871F8>
🔵剩余
78 doc
79 loader <_frozen_importlib_external.SourceFileLoader object at 0x00000139536A2188>
80 spec ModuleSpec(name=‘importlib_metadata’, loader=<frozen_importlib_external.SourceFileLoader object at 0x00000139536A2188>, origin='…\lib\site-packages\importlib_metadata_init.py’, submodule_search_locations=[‘…\lib\site-packages\importlib_metadata’])
81 StrPath typing.Union[str, ForwardRef(‘os.PathLike[str]’)]
82 Iterable typing.Iterable
83 List typing.List
84 Mapping typing.Mapping
85 Optional typing.Optional
86 Set typing.Set
87 _unique functools.partial(<function unique_everseen at 0x000001395374FCA8>, key=<function normalized_name at 0x000001395374FAF8>)
☘️【os】
os, fullname=os, file=os.py
☘️【re】
re, fullname=re, file=re.py
☘️【abc】
abc, fullname=abc, file=abc.py
☘️【csv】
csv, fullname=csv, file=csv.py
☘️【sys】
sys, fullname=sys, file=
☘️【zipp】
zipp, fullname=zipp, file=zipp_init_.py
☘️【email】
email, fullname=email, file=email_init_.py
☘️【inspect】
inspect, fullname=inspect, file=inspect.py
☘️【pathlib】
pathlib, fullname=pathlib, file=pathlib.py
☘️【operator】
operator, fullname=operator, file=operator.py
☘️【textwrap】
textwrap, fullname=textwrap, file=textwrap.py
☘️【warnings】
warnings, fullname=warnings, file=warnings.py
☘️【functools】
functools, fullname=functools, file=functools.py
☘️【itertools】
itertools, fullname=itertools, file=
☘️【posixpath】
posixpath, fullname=posixpath, file=posixpath.py
☘️【contextlib】
contextlib, fullname=contextlib, file=contextlib.py
☘️【collections】
collections, fullname=collections, file=collections_init_.py
☘️【importlib_metadata._functools】
_functools, fullname=importlib_metadata._functools, file=importlib_metadata_functools.py
☘️【importlib_metadata._text】
_text, fullname=importlib_metadata._text, file=importlib_metadata_text.py
☘️【importlib_metadata._compat】
_compat, fullname=importlib_metadata._compat, file=importlib_metadata_compat.py
☘️【importlib_metadata._adapters】
_adapters, fullname=importlib_metadata._adapters, file=importlib_metadata_adapters.py
☘️【importlib_metadata._meta】
_meta, fullname=importlib_metadata._meta, file=importlib_metadata_meta.py
☘️【importlib_metadata._py39compat】
_py39compat, fullname=importlib_metadata._py39compat, file=importlib_metadata_py39compat.py
☘️【importlib_metadata._collections】
_collections, fullname=importlib_metadata._collections, file=importlib_metadata_collections.py
☘️【importlib_metadata._itertools】
_itertools, fullname=importlib_metadata._itertools, file=importlib_metadata_itertools.py
☘️【types】
types, fullname=types, file=types.py
☘️【platform】
platform, fullname=platform, file=platform.py