一图看懂 importlib_metadata 模块:用于提供第三方访问Python包的元数据的库,资料整理+笔记(大全)

本文由 大侠(AhcaoZhu)原创,转载请声明。
链接: https://blog.csdn.net/Ahcao2008

Alt

一图看懂 importlib_metadata 模块:用于提供第三方访问Python包的元数据的库,资料整理+笔记(大全)

🧊摘要

  • 全文介绍python的 importlib_metadata 模块(用于提供第三方访问Python包的元数据的库)、函数、类及类的方法和属性。
  • 它通过代码抓取并经AI智能翻译和人工校对。
  • 是一部不可多得的权威字典类工具书。它是系列集的一部分。后续陆续发布、敬请关注。【原创:AhcaoZhu大侠】

🧊模块图

importlib_metadata-module

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

🧊类关系图

importlib_metadata-class

◆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

🔵统计

序号类别数量
4str4
6list2
8dict1
9module25
10class23
11function18
13residual10
14system10
15private11
16all83

🔵模块

🌿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

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AhcaoZhu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值