一图看懂 pkg_resources 模块:包资源API,资料整理+笔记(大全)

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

Alt

一图看懂 pkg_resources 模块:包资源API,资料整理+笔记(大全)

🧊摘要

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

🧊模块图

pkg_resources-module

pkg_resources
	◆pkgutil
	◆plistlib
	◆email
	◆_imp
	pkg_resources.extern
		pkg_resources._vendor.pyparsing
			◆sre_constants
			◆pprint
	pkg_resources._vendor
	pkg_resources._vendor.appdirs
		◆win32com
	pkg_resources._vendor.packaging
		pkg_resources._vendor.packaging.__about__
		pkg_resources.extern.packaging._structures
		pkg_resources.extern.packaging.version
		pkg_resources._vendor.packaging._manylinux
		pkg_resources._vendor.packaging._musllinux
			◆contextlib
		pkg_resources.extern.packaging.tags
		pkg_resources.extern.packaging.utils
		pkg_resources.extern.packaging.specifiers
		pkg_resources.extern.packaging.markers
		pkg_resources.extern.packaging.requirements

🧊类关系图

pkg_resources-class

◆object
	◆BaseException
		◆Exception
			◆RuntimeError
				pkg_resources.ExtractionError
			◆ValueError
				pkg_resources.extern.packaging.markers.InvalidMarker
				pkg_resources.extern.packaging.markers.UndefinedComparison
				pkg_resources.extern.packaging.markers.UndefinedEnvironmentName
				pkg_resources.extern.packaging.requirements.InvalidRequirement
					pkg_resources.RequirementParseError
				pkg_resources.extern.packaging.specifiers.InvalidSpecifier
				pkg_resources.extern.packaging.utils.InvalidSdistFilename
				pkg_resources.extern.packaging.utils.InvalidWheelFilename
				pkg_resources.extern.packaging.version.InvalidVersion
			◆Warning
				◆RuntimeWarning
					pkg_resources.PEP440Warning
				pkg_resources.PkgResourcesDeprecationWarning
			pkg_resources.ResolutionError
				pkg_resources.DistributionNotFound
				pkg_resources.UnknownExtra
				pkg_resources.VersionConflict
					pkg_resources.ContextualVersionConflict
			pkg_resources._vendor.pyparsing.ParseBaseException
				pkg_resources._vendor.pyparsing.ParseException
				pkg_resources._vendor.pyparsing.ParseFatalException
					pkg_resources._vendor.pyparsing.ParseSyntaxException
			pkg_resources._vendor.pyparsing.RecursiveGrammarException
	◆dict
		pkg_resources.ZipManifests
			pkg_resources.MemoizedZipManifests
		pkg_resources._ReqExtras
	pkg_resources.Distribution
		pkg_resources.DistInfoDistribution
		pkg_resources.EggInfoDistribution
	pkg_resources.EntryPoint
	pkg_resources.Environment
	pkg_resources.IMetadataProvider
		pkg_resources.IResourceProvider
	pkg_resources.NoDists
	pkg_resources.NullProvider
		pkg_resources.EggProvider
			pkg_resources.DefaultProvider
				pkg_resources.PathMetadata
			pkg_resources.ZipProvider
				pkg_resources.EggMetadata
		pkg_resources.EmptyProvider
			pkg_resources.FileMetadata
	pkg_resources.ResourceManager
	pkg_resources.WorkingSet
	pkg_resources._vendor.appdirs.AppDirs
	pkg_resources._vendor.packaging._manylinux._ELFFileHeader
	pkg_resources._vendor.pyparsing.OnlyOnce
	pkg_resources._vendor.pyparsing.ParseResults
	pkg_resources._vendor.pyparsing.ParserElement
		pkg_resources._vendor.pyparsing.ParseElementEnhance
			pkg_resources._vendor.pyparsing.FollowedBy
			pkg_resources._vendor.pyparsing.Forward
				pkg_resources._vendor.pyparsing._ForwardNoRecurse
			pkg_resources._vendor.pyparsing.NotAny
			pkg_resources._vendor.pyparsing.Optional
			pkg_resources._vendor.pyparsing.SkipTo
			pkg_resources._vendor.pyparsing.TokenConverter
				pkg_resources._vendor.pyparsing.Combine
				pkg_resources._vendor.pyparsing.Dict
				pkg_resources._vendor.pyparsing.Group
				pkg_resources._vendor.pyparsing.Suppress
			pkg_resources._vendor.pyparsing._MultipleMatch
				pkg_resources._vendor.pyparsing.OneOrMore
				pkg_resources._vendor.pyparsing.ZeroOrMore
		pkg_resources._vendor.pyparsing.ParseExpression
			pkg_resources._vendor.pyparsing.And
			pkg_resources._vendor.pyparsing.Each
			pkg_resources._vendor.pyparsing.MatchFirst
			pkg_resources._vendor.pyparsing.Or
		pkg_resources._vendor.pyparsing.Token
			pkg_resources._vendor.pyparsing.CharsNotIn
			pkg_resources._vendor.pyparsing.CloseMatch
			pkg_resources._vendor.pyparsing.Empty
			pkg_resources._vendor.pyparsing.Keyword
				pkg_resources._vendor.pyparsing.CaselessKeyword
			pkg_resources._vendor.pyparsing.Literal
				pkg_resources._vendor.pyparsing.CaselessLiteral
			pkg_resources._vendor.pyparsing.NoMatch
			pkg_resources._vendor.pyparsing.QuotedString
			pkg_resources._vendor.pyparsing.Regex
			pkg_resources._vendor.pyparsing.White
			pkg_resources._vendor.pyparsing.Word
			pkg_resources._vendor.pyparsing._PositionToken
				pkg_resources._vendor.pyparsing.GoToColumn
				pkg_resources._vendor.pyparsing.LineEnd
				pkg_resources._vendor.pyparsing.LineStart
				pkg_resources._vendor.pyparsing.StringEnd
				pkg_resources._vendor.pyparsing.StringStart
				pkg_resources._vendor.pyparsing.WordEnd
				pkg_resources._vendor.pyparsing.WordStart
	pkg_resources._vendor.pyparsing._Constants
	pkg_resources._vendor.pyparsing._NullToken
	pkg_resources._vendor.pyparsing._ParseResultsWithOffset
	pkg_resources._vendor.pyparsing.pyparsing_common
	pkg_resources.extern.VendorImporter
	pkg_resources.extern.packaging._structures.InfinityType
	pkg_resources.extern.packaging._structures.NegativeInfinityType
	pkg_resources.extern.packaging.markers.Marker
	pkg_resources.extern.packaging.markers.Node
		pkg_resources.extern.packaging.markers.Op
		pkg_resources.extern.packaging.markers.Value
		pkg_resources.extern.packaging.markers.Variable
	pkg_resources.extern.packaging.markers.Undefined
	pkg_resources.extern.packaging.requirements.Requirement
		pkg_resources.Requirement
	pkg_resources.extern.packaging.specifiers.BaseSpecifier
		pkg_resources.extern.packaging.specifiers.SpecifierSet
		pkg_resources.extern.packaging.specifiers._IndividualSpecifier
			pkg_resources.extern.packaging.specifiers.LegacySpecifier
			pkg_resources.extern.packaging.specifiers.Specifier
	pkg_resources.extern.packaging.tags.Tag
	pkg_resources.extern.packaging.version._BaseVersion
		pkg_resources.extern.packaging.version.LegacyVersion
		pkg_resources.extern.packaging.version.Version
	◆tuple
		pkg_resources._vendor.packaging._manylinux._GLibCVersion
		pkg_resources._vendor.packaging._musllinux._MuslVersion
		pkg_resources.extern.packaging.version._Version

🧊模块全展开

☘️【pkg_resources】

pkg_resources, fullname=pkg_resources, file=pkg_resources_init_.py

☘️【pkg_resources.extern】

extern, fullname=pkg_resources.extern, file=pkg_resources\extern_init_.py

🔵统计

序号类别数量
4str4
5tuple1
6list1
8dict1
9module5
10class1
13residual3
14system9
16all16

🔵常量

🌿tuple

1 names (‘packaging’, ‘pyparsing’, ‘appdirs’)

🔵模块

🌿2 importlib

importlib, fullname=importlib, file=importlib_init_.py

🌿3 sys

sys, fullname=sys, file=

🌿4 pkg_resources._vendor.appdirs

appdirs, fullname=pkg_resources._vendor.appdirs, file=pkg_resources_vendor\appdirs.py

用于确定特定于应用程序的目录的实用程序。有关详细信息和用法,请[参阅](http://github.com/ActiveState/appdirs)。

🌿5 pkg_resources._vendor.packaging

packaging, fullname=pkg_resources.vendor.packaging, file=pkg_resources_vendor\packaging_init.py

🌿6 pkg_resources._vendor.pyparsing

pyparsing, fullname=pkg_resources._vendor.pyparsing, file=pkg_resources_vendor\pyparsing.py

pyparsing模块——定义和执行解析语法的类和方法
    pyparsing模块是创建和执行简单语法的另一种方法,与传统的lex/yacc方法或使用正则表达式相比。
    使用pyparsing,您不需要学习定义语法或匹配表达式的新语法-解析模块提供了一个类库,您可以使用这些类直接在Python中构造语法。
    下面是一个程序来解析“Hello, World!”(或任何形式的C{"<salutation>, <addressee>!"}),
    使用L{Word}, L{Literal}和L{and}元素(L{'+'<ParserElement。add >}运算符给出L{And}表达式,字符串自动转换为L{Literal}表达式):
        from pyparsing import Word, alphas
        # 定义问候语法
        greet = Word(alphas) + "," + Word(alphas) + "!"
        hello = "Hello, World!"
        print (hello, "->", greet.parseString(hello))
    程序输出如下内容:
        Hello, World! -> ['Hello', ',', 'World', '!']
    由于自解释的类名以及'+','|'和'^'操作符的使用,语法的Python表示非常可读。
    从L{ParserElement. parsestring <ParserElement返回的L{parserresults}对象。parseString>}可以作为嵌套列表、字典或带有命名属性的对象访问。
    pyparsing模块处理了一些在编写文本解析器时通常令人烦恼的问题:
        -额外或缺少空格(上述程序也将处理“Hello,World!”,“Hello,World!”等)
        -引号字符串
        -嵌入注释
    入门:
        -访问类L{ParserElement}和L{ParseResults}以查看大多数其他pyparsing类继承的基类。
        使用文档字符串示例如何:
            -从L{literal}和L{CaselessLiteral}类构造文字匹配表达式
            -使用L{Word}类构造字符组表达式
            -查看如何使用L{ZeroOrMore}和L{OneOrMore}类创建重复表达式
            -使用L{'+'< and >}, L{'|'<MatchFirst>}, L{'^'<Or>}和L{'&amp;'<Each>}运算符将简单表达式组合成更复杂的表达式
            -使用L{ParserElement.setResultsName}将名称与解析结果关联起来
            -在L{pyparsing common}命名空间类中找到更多有用的通用表达式

🔵类

🌿7 pkg_resources.extern.VendorImporter

VendorImporter, pkg_resources.extern.VendorImporter, module=pkg_resources.extern, line:5 at site-packages\pkg_resources\extern_init_.py

一个PEP 302元路径导入器,用于从根名称中查找可选供应商或其他自然安装的包。
property

1 search_path=<property object at 0x0000018AFF831EF8> kind:property type:property class:<class ‘pkg_resources.extern.VendorImporter’>

method
2 create_module(self, spec)

kind=method class=VendorImporter objtype=function line:51 at …\lib\site-packages\pkg_resources\extern_init_.py

3 exec_module(self, module)

kind=method class=VendorImporter objtype=function line:54 at …\lib\site-packages\pkg_resources\extern_init_.py

4 find_spec(self, fullname, path=None, target=None)

kind=method class=VendorImporter objtype=function line:57 at …\lib\site-packages\pkg_resources\extern_init_.py

返回供应商名称的模块规范。
5 install(self)

kind=method class=VendorImporter objtype=function line:64 at …\lib\site-packages\pkg_resources\extern_init_.py

将此导入器安装到 sys.meta_path ,如果还没有出现。
6 load_module(self, fullname)

kind=method class=VendorImporter objtype=function line:29 at …\lib\site-packages\pkg_resources\extern_init_.py

遍历搜索路径以定位和加载fullname。

☘️【pkg_resources._vendor】

_vendor, fullname=pkg_resources.vendor, file=pkg_resources_vendor_init.py

🔵统计

序号类别数量
4str4
6list1
8dict1
9module3
13residual3
14system9
16all12

🔵模块

🌿1 pkg_resources._vendor.appdirs

appdirs, fullname=pkg_resources._vendor.appdirs, file=pkg_resources_vendor\appdirs.py

🌿2 pkg_resources._vendor.packaging

packaging, fullname=pkg_resources.vendor.packaging, file=pkg_resources_vendor\packaging_init.py

🌿3 pkg_resources._vendor.pyparsing

pyparsing, fullname=pkg_resources._vendor.pyparsing, file=pkg_resources_vendor\pyparsing.py

☘️【pkg_resources._vendor.appdirs】

appdirs, fullname=pkg_resources._vendor.appdirs, file=pkg_resources_vendor\appdirs.py

☘️【pkg_resources._vendor.packaging】

packaging, fullname=pkg_resources.vendor.packaging, file=pkg_resources_vendor\packaging_init.py

☘️【pkg_resources._vendor.pyparsing】

pyparsing, fullname=pkg_resources._vendor.pyparsing, file=pkg_resources_vendor\pyparsing.py

☘️【win32com】

win32com, fullname=win32com, file=win32com_init_.py

☘️【pkg_resources._vendor.packaging.about

about, fullname=pkg_resources.vendor.packaging.about, file=pkg_resources_vendor\packaging_about.py

🔵统计

序号类别数量
4str12
6list1
8dict1
13residual3
14system17
16all17

☘️【pkg_resources.extern.packaging._structures】

_structures, fullname=pkg_resources.extern.packaging._structures, file=pkg_resources_vendor\packaging_structures.py

🔵统计

序号类别数量
4str4
8dict1
10class2
13residual5
14system8
16all12

🔵类

🌿1 pkg_resources.extern.packaging._structures.InfinityType

InfinityType, pkg_resources.extern.packaging._structures.InfinityType, module=pkg_resources.extern.packaging._structures, line:6 at site-packages\pkg_resources_vendor\packaging_structures.py

🌿2 pkg_resources.extern.packaging._structures.NegativeInfinityType

NegativeInfinityType, pkg_resources.extern.packaging._structures.NegativeInfinityType, module=pkg_resources.extern.packaging._structures, line:38 at site-packages\pkg_resources_vendor\packaging_structures.py

🔵剩余

3 doc
4 loader <_frozen_importlib_external.SourceFileLoader object at 0x0000018AFF8AE1C8>
5 spec ModuleSpec(name=‘pkg_resources.extern.packaging._structures’, loader=<_frozen_importlib_external.SourceFileLoader object at 0x0000018AFF8AE1C8>, origin=‘…\lib\site-packages\pkg_resources\_vendor\packaging\_structures.py’)
6 Infinity Infinity
7 NegativeInfinity -Infinity

☘️【pkg_resources.extern.packaging.version】

version, fullname=pkg_resources.extern.packaging.version, file=pkg_resources_vendor\packaging\version.py

🔵统计

序号类别数量
4str5
6list1
8dict2
9module4
10class8
11function6
13residual20
14system9
15private10
16all46

🔵常量

🌿str

1 VERSION_PATTERN
v?
(?:
(?😦?P[0-9]+)!)? # epoch
(?P[0-9]+(?:.[0-9]+)…

🌿dict

2 _legacy_version_replacement_map {‘pre’: ‘c’, ‘preview’: ‘c’, ‘-’: ‘final-’, ‘rc’: ‘c’, ‘dev’: ‘@’}

🔵模块

🌿3 collections

collections, fullname=collections, file=collections_init_.py

🌿4 itertools

itertools, fullname=itertools, file=

🌿5 re

re, fullname=re, file=re.py

🌿6 warnings

warnings, fullname=warnings, file=warnings.py

🔵函数

🌿7 parse(version: str) -> Union[ForwardRef(‘LegacyVersion’), ForwardRef(‘Version’)]

parse(version: str) -> Union[ForwardRef(‘LegacyVersion’), ForwardRef(‘Version’)], module=pkg_resources.extern.packaging.version, line:42 at site-packages\pkg_resources_vendor\packaging\version.py

解析给定的版本字符串并返回 :class:`Version` 对象或 :class:`LegacyVersion` 对象,具体取决于给定的版本是有效的PEP 440版本还是遗留版本。

🌿8 _parse_version_parts(s: str) -> Iterator[str]

_parse_version_parts(s: str) -> Iterator[str], module=pkg_resources.extern.packaging.version, line:179 at site-packages\pkg_resources_vendor\packaging\version.py

🌿9 _legacy_cmpkey(version: str) -> Tuple[int, Tuple[str, …]]

_legacy_cmpkey(version: str) -> Tuple[int, Tuple[str, …]], module=pkg_resources.extern.packaging.version, line:196 at site-packages\pkg_resources_vendor\packaging\version.py

🌿10 _parse_letter_version(letter: str, number: Union[str, bytes, SupportsInt]) -> Union[Tuple[str, int], NoneType]

_parse_letter_version(letter: str, number: Union[str, bytes, SupportsInt]) -> Union[Tuple[str, int], NoneType], module=pkg_resources.extern.packaging.version, line:393 at site-packages\pkg_resources_vendor\packaging\version.py

🌿11 _parse_local_version(local: str) -> Union[pkg_resources.extern.packaging._structures.NegativeInfinityType, Tuple[Union[pkg_resources.extern.packaging._structures.InfinityType, pkg_resources.extern.packaging._structures.NegativeInfinityType, int, str, Tuple[Union[pkg_resources.extern.packaging._structures.InfinityType, pkg_resources.extern.packaging._structures.NegativeInfinityType, int, str], str], Tuple[pkg_resources.extern.packaging._structures.NegativeInfinityType, Union[pkg_resources.extern.packaging._structures.InfinityType, pkg_resources.extern.packaging._structures.NegativeInfinityType, int, str]]], …], NoneType]

_parse_local_version(local: str) -> Union[pkg_resources.extern.packaging._structures.NegativeInfinityType, Tuple[Union[pkg_resources.extern.packaging._structures.InfinityType, pkg_resources.extern.packaging._structures.NegativeInfinityType, int, str, Tuple[Union[pkg_resources.extern.packaging._structures.InfinityType, pkg_resources.extern.packaging._structures.NegativeInfinityType, int, str], str], Tuple[pkg_resources.extern.packaging._structures.NegativeInfinityType, Union[pkg_resources.extern.packaging._structures.InfinityType, pkg_resources.extern.packaging._structures.NegativeInfinityType, int, str]]], …], NoneType], module=pkg_resources.extern.packaging.version, line:432 at site-packages\pkg_resources_vendor\packaging\version.py

取像 abc.1.twelve 这样的字符串。然后把它变成("abc", 1, "Twelve")。

🌿12 _cmpkey(epoch: int, release: Tuple[int, …], pre: Union[Tuple[str, int], NoneType], post: Union[Tuple[str, int], NoneType], dev: Union[Tuple[str, int], NoneType], local: Union[Tuple[Union[pkg_resources.extern.packaging._structures.InfinityType, pkg_resources.extern.packaging._structures.NegativeInfinityType, int, str]], NoneType]) -> Tuple[int, Tuple[int, …], Union[pkg_resources.extern.packaging._structures.InfinityType, pkg_resources.extern.packaging._structures.NegativeInfinityType, Tuple[str, int]], Union[pkg_resources.extern.packaging._structures.InfinityType, pkg_resources.extern.packaging._structures.NegativeInfinityType, Tuple[str, int]], Union[pkg_resources.extern.packaging._structures.InfinityType, pkg_resources.extern.packaging._structures.NegativeInfinityType, Tuple[str, int]], Union[pkg_resources.extern.packaging._structures.NegativeInfinityType, Tuple[Union[pkg_resources.extern.packaging._structures.InfinityType, pkg_resources.extern.packaging._structures.NegativeInfinityType, int, str, Tuple[Union[pkg_resources.extern.packaging._structures.InfinityType, pkg_resources.extern.packaging._structures.NegativeInfinityType, int, str], str], Tuple[pkg_resources.extern.packaging._structures.NegativeInfinityType, Union[pkg_resources.extern.packaging._structures.InfinityType, pkg_resources.extern.packaging._structures.NegativeInfinityType, int, str]]], …]]]

_cmpkey(epoch: int, release: Tuple[int, …], pre: Union[Tuple[str, int], NoneType], post: Union[Tuple[str, int], NoneType], dev: Union[Tuple[str, int], NoneType], local: Union[Tuple[Union[pkg_resources.extern.packaging._structures.InfinityType, pkg_resources.extern.packaging._structures.NegativeInfinityType, int, str]], NoneType]) -> Tuple[int, Tuple[int, …], Union[pkg_resources.extern.packaging._structures.InfinityType, pkg_resources.extern.packaging._structures.NegativeInfinityType, Tuple[str, int]], Union[pkg_resources.extern.packaging._structures.InfinityType, pkg_resources.extern.packaging._structures.NegativeInfinityType, Tuple[str, int]], Union[pkg_resources.extern.packaging._structures.InfinityType, pkg_resources.extern.packaging._structures.NegativeInfinityType, Tuple[str, int]], Union[pkg_resources.extern.packaging._structures.NegativeInfinityType, Tuple[Union[pkg_resources.extern.packaging._structures.InfinityType, pkg_resources.extern.packaging._structures.NegativeInfinityType, int, str, Tuple[Union[pkg_resources.extern.packaging._structures.InfinityType, pkg_resources.extern.packaging._structures.NegativeInfinityType, int, str], str], Tuple[pkg_resources.extern.packaging._structures.NegativeInfinityType, Union[pkg_resources.extern.packaging._structures.InfinityType, pkg_resources.extern.packaging._structures.NegativeInfinityType, int, str]]], …]]], module=pkg_resources.extern.packaging.version, line:444 at site-packages\pkg_resources_vendor\packaging\version.py

🔵类

🌿13 typing.SupportsInt

SupportsInt, typing.SupportsInt, module=typing, line:1288 at typing.py

具有一个抽象方法int的ABC。

🌿14 pkg_resources.extern.packaging._structures.InfinityType

InfinityType, pkg_resources.extern.packaging._structures.InfinityType, module=pkg_resources.extern.packaging._structures, line:6 at site-packages\pkg_resources_vendor\packaging_structures.py

🌿14 pkg_resources.extern.packaging._structures.NegativeInfinityType

NegativeInfinityType, pkg_resources.extern.packaging._structures.NegativeInfinityType, module=pkg_resources.extern.packaging._structures, line:38 at site-packages\pkg_resources_vendor\packaging_structures.py

🌿14 pkg_resources.extern.packaging.version._Version

_Version, pkg_resources.extern.packaging.version._Version, module=pkg_resources.extern.packaging.version, line:-1 at site-packages\pkg_resources_vendor\packaging\version.py

    _Version(epoch, release, dev, pre, post, local)
property

1 dev=<property object at 0x0000018AFF8B73B8> kind:property type:property class:<class ‘pkg_resources.extern.packaging.version._Version’>
2 epoch=<property object at 0x0000018AFF8B7318> kind:property type:property class:<class ‘pkg_resources.extern.packaging.version._Version’>
3 local=<property object at 0x0000018AFF8B74A8> kind:property type:property class:<class ‘pkg_resources.extern.packaging.version._Version’>
4 post=<property object at 0x0000018AFF8B7458> kind:property type:property class:<class ‘pkg_resources.extern.packaging.version._Version’>
5 pre=<property object at 0x0000018AFF8B7408> kind:property type:property class:<class ‘pkg_resources.extern.packaging.version._Version’>
6 release=<property object at 0x0000018AFF8B7368> kind:property type:property class:<class ‘pkg_resources.extern.packaging.version._Version’>

🌿15 pkg_resources.extern.packaging.version.InvalidVersion

InvalidVersion, pkg_resources.extern.packaging.version.InvalidVersion, module=pkg_resources.extern.packaging.version, line:54 at site-packages\pkg_resources_vendor\packaging\version.py

发现无效版本,用户应参考PEP 440。

🌿16 pkg_resources.extern.packaging.version._BaseVersion

_BaseVersion, pkg_resources.extern.packaging.version._BaseVersion, module=pkg_resources.extern.packaging.version, line:60 at site-packages\pkg_resources_vendor\packaging\version.py

🌿17 pkg_resources.extern.packaging.version.LegacyVersion

LegacyVersion, pkg_resources.extern.packaging.version.LegacyVersion, module=pkg_resources.extern.packaging.version, line:106 at site-packages\pkg_resources_vendor\packaging\version.py

property

1 base_version=<property object at 0x0000018AFF8B7908> kind:property type:property class:<class ‘pkg_resources.extern.packaging.version.LegacyVersion’>
2 dev=<property object at 0x0000018AFF8B7C28> kind:property type:property class:<class ‘pkg_resources.extern.packaging.version.LegacyVersion’>
3 epoch=<property object at 0x0000018AFF8B79A8> kind:property type:property class:<class ‘pkg_resources.extern.packaging.version.LegacyVersion’>
4 is_devrelease=<property object at 0x0000018AFF8B7EA8> kind:property type:property class:<class ‘pkg_resources.extern.packaging.version.LegacyVersion’>
5 is_postrelease=<property object at 0x0000018AFF8B7E08> kind:property type:property class:<class ‘pkg_resources.extern.packaging.version.LegacyVersion’>
6 is_prerelease=<property object at 0x0000018AFF8B7D68> kind:property type:property class:<class ‘pkg_resources.extern.packaging.version.LegacyVersion’>
7 local=<property object at 0x0000018AFF8B7CC8> kind:property type:property class:<class ‘pkg_resources.extern.packaging.version.LegacyVersion’>
8 post=<property object at 0x0000018AFF8B7B88> kind:property type:property class:<class ‘pkg_resources.extern.packaging.version.LegacyVersion’>
9 pre=<property object at 0x0000018AFF8B7AE8> kind:property type:property class:<class ‘pkg_resources.extern.packaging.version.LegacyVersion’>
10 public=<property object at 0x0000018AFF8B7868> kind:property type:property class:<class ‘pkg_resources.extern.packaging.version.LegacyVersion’>
11 release=<property object at 0x0000018AFF8B7A48> kind:property type:property class:<class ‘pkg_resources.extern.packaging.version.LegacyVersion’>

🌿18 pkg_resources.extern.packaging.version.Version

Version, pkg_resources.extern.packaging.version.Version, module=pkg_resources.extern.packaging.version, line:257 at site-packages\pkg_resources_vendor\packaging\version.py

property

1 base_version=<property object at 0x0000018AFF8B9778> kind:property type:property class:<class ‘pkg_resources.extern.packaging.version.Version’>
2 dev=<property object at 0x0000018AFF8B9688> kind:property type:property class:<class ‘pkg_resources.extern.packaging.version.Version’>
3 epoch=<property object at 0x0000018AFF8B9548> kind:property type:property class:<class ‘pkg_resources.extern.packaging.version.Version’>
4 is_devrelease=<property object at 0x0000018AFF8B9868> kind:property type:property class:<class ‘pkg_resources.extern.packaging.version.Version’>
5 is_postrelease=<property object at 0x0000018AFF8B9818> kind:property type:property class:<class ‘pkg_resources.extern.packaging.version.Version’>
6 is_prerelease=<property object at 0x0000018AFF8B97C8> kind:property type:property class:<class ‘pkg_resources.extern.packaging.version.Version’>
7 local=<property object at 0x0000018AFF8B96D8> kind:property type:property class:<class ‘pkg_resources.extern.packaging.version.Version’>
8 major=<property object at 0x0000018AFF8B98B8> kind:property type:property class:<class ‘pkg_resources.extern.packaging.version.Version’>
9 micro=<property object at 0x0000018AFF8B9958> kind:property type:property class:<class ‘pkg_resources.extern.packaging.version.Version’>
10 minor=<property object at 0x0000018AFF8B9908> kind:property type:property class:<class ‘pkg_resources.extern.packaging.version.Version’>
11 post=<property object at 0x0000018AFF8B9638> kind:property type:property class:<class ‘pkg_resources.extern.packaging.version.Version’>
12 pre=<property object at 0x0000018AFF8B95E8> kind:property type:property class:<class ‘pkg_resources.extern.packaging.version.Version’>
13 public=<property object at 0x0000018AFF8B9728> kind:property type:property class:<class ‘pkg_resources.extern.packaging.version.Version’>
14 release=<property object at 0x0000018AFF8B9598> kind:property type:property class:<class ‘pkg_resources.extern.packaging.version.Version’>

🔵私有或局部

19 _Version <class ‘pkg_resources.extern.packaging.version._Version’>
20 _BaseVersion <class ‘pkg_resources.extern.packaging.version._BaseVersion’>
21 _legacy_version_component_re re.compile(‘(\d+ | [a-z]+ | \.| -)’, re.VERBOSE)
22 _legacy_version_replacement_map {‘pre’: ‘c’, ‘preview’: ‘c’, ‘-’: ‘final-’, ‘rc’: ‘c’, ‘dev’: ‘@’}
23 _parse_version_parts <function _parse_version_parts at 0x0000018AFF8B1EE8>
24 _legacy_cmpkey <function _legacy_cmpkey at 0x0000018AFF8B5B88>
25 _parse_letter_version <function _parse_letter_version at 0x0000018AFF8B5C18>
26 local_version_separators re.compile('[\.-]')
27 _parse_local_version <function _parse_local_version at 0x0000018AFF8BD678>
28 _cmpkey <function _cmpkey at 0x0000018AFF8BD708>

🔵剩余

29 doc
30 loader <_frozen_importlib_external.SourceFileLoader object at 0x0000018AFF85BB88>
31 spec ModuleSpec(name=‘pkg_resources.extern.packaging.version’, loader=<_frozen_importlib_external.SourceFileLoader object at 0x0000018AFF85BB88>, origin=‘…\lib\site-packages\pkg_resources\_vendor\packaging\version.py’)
32 Callable typing.Callable
33 Iterator typing.Iterator
34 List typing.List
35 Optional typing.Optional
36 Tuple typing.Tuple
37 Union typing.Union
38 Infinity Infinity
39 NegativeInfinity -Infinity
40 InfiniteTypes typing.Union[pkg_resources.extern.packaging._structures.InfinityType, pkg_resources.extern.packaging._structures.NegativeInfinityType]
41 PrePostDevType typing.Union[pkg_resources.extern.packaging._structures.InfinityType, pkg_resources.extern.packaging._structures.NegativeInfinityType, typing.Tuple[str, int]]
42 SubLocalType typing.Union[pkg_resources.extern.packaging._structures.InfinityType, pkg_resources.extern.packaging._structures.NegativeInfinityType, int, str]
43 LocalType typing.Union[pkg_resources.extern.packaging._structures.NegativeInfinityType, …]
44 CmpKey typing.Tuple[int, typing.Tuple[int, …], typing.Union[pkg_resources.extern.packaging._structures.InfinityType, …
45 LegacyCmpKey typing.Tuple[int, typing.Tuple[str, …]]
46 VersionComparisonMethod typing.Callable[…]
47 _legacy_version_component_re re.compile(‘(\d+ | [a-z]+ | \.| -)’, re.VERBOSE)
48 local_version_separators re.compile('[\.-]')

☘️【pkg_resources._vendor.packaging._manylinux】

_manylinux, fullname=pkg_resources._vendor.packaging._manylinux, file=pkg_resources_vendor\packaging_manylinux.py

🔵统计

序号类别数量
4str4
8dict3
9module7
10class4
11function10
13residual9
14system9
15private14
16all37

🔵常量

🌿dict

1 _LEGACY_MANYLINUX_MAP {(2, 17): ‘manylinux2014’, (2, 12): ‘manylinux2010’, (2, 5): ‘manylinux1’}

🔵模块

🌿2 collections

collections, fullname=collections, file=collections_init_.py

🌿3 functools

functools, fullname=functools, file=functools.py

🌿4 os

os, fullname=os, file=os.py

🌿5 re

re, fullname=re, file=re.py

🌿6 struct

struct, fullname=struct, file=struct.py

🌿7 sys

sys, fullname=sys, file=

🌿8 warnings

warnings, fullname=warnings, file=warnings.py

🔵函数

🌿9 _get_elf_header() -> Union[pkg_resources._vendor.packaging._manylinux._ELFFileHeader, NoneType]

_get_elf_header() -> Union[pkg_resources._vendor.packaging._manylinux._ELFFileHeader, NoneType], module=pkg_resources._vendor.packaging._manylinux, line:76 at site-packages\pkg_resources_vendor\packaging_manylinux.py

🌿10 _is_linux_armhf() -> bool

_is_linux_armhf() -> bool, module=pkg_resources._vendor.packaging._manylinux, line:85 at site-packages\pkg_resources_vendor\packaging_manylinux.py

🌿11 _is_linux_i686() -> bool

_is_linux_i686() -> bool, module=pkg_resources._vendor.packaging._manylinux, line:104 at site-packages\pkg_resources_vendor\packaging_manylinux.py

🌿12 _have_compatible_abi(arch: str) -> bool

_have_compatible_abi(arch: str) -> bool, module=pkg_resources._vendor.packaging._manylinux, line:114 at site-packages\pkg_resources_vendor\packaging_manylinux.py

🌿13 _glibc_version_string_confstr() -> Union[str, NoneType]

_glibc_version_string_confstr() -> Union[str, NoneType], module=pkg_resources._vendor.packaging._manylinux, line:135 at site-packages\pkg_resources_vendor\packaging_manylinux.py

使用os.confstr的 glibc_version_string 的主要实现。

🌿14 _glibc_version_string_ctypes() -> Union[str, NoneType]

_glibc_version_string_ctypes() -> Union[str, NoneType], module=pkg_resources._vendor.packaging._manylinux, line:154 at site-packages\pkg_resources_vendor\packaging_manylinux.py

使用ctypes的 glibc_version_string 的回退实现。

🌿15 _glibc_version_string() -> Union[str, NoneType]

_glibc_version_string() -> Union[str, NoneType], module=pkg_resources._vendor.packaging._manylinux, line:198 at site-packages\pkg_resources_vendor\packaging_manylinux.py

返回 glibc_version_string ,如果不使用glibc则返回None。

🌿16 _parse_glibc_version(version_str: str) -> Tuple[int, int]

_parse_glibc_version(version_str: str) -> Tuple[int, int], module=pkg_resources._vendor.packaging._manylinux, line:203 at site-packages\pkg_resources_vendor\packaging_manylinux.py

解析glibc版本。
我们使用regexp而不是str.split,因为我们想要丢弃在次要版本之后可能出现的任何随机垃圾-这可能发生在glibc的补丁/分支版本中
(例如Linaro的glibc版本使用像“2.20-2014.11”这样的版本字符串)。参见:gh-3588。
:````
### 🌿17 _is_compatible(name: str, arch: str, version: pkg_resources._vendor.packaging._manylinux._GLibCVersion) -> bool
> _is_compatible(name: str, arch: str, version: pkg_resources._vendor.packaging._manylinux._GLibCVersion) -> bool, module=pkg_resources._vendor.packaging._manylinux, line:231 at site-packages\pkg_resources\_vendor\packaging\_manylinux.py
### 🌿18 platform_tags(linux: str, arch: str) -> Iterator[str]
> platform_tags(linux: str, arch: str) -> Iterator[str], module=pkg_resources._vendor.packaging._manylinux, line:267 at site-packages\pkg_resources\_vendor\packaging\_manylinux.py
## 🔵类
### 🌿19 typing.IO
> IO, typing.IO, module=typing, line:1490 at typing.py

TextIO和BinaryIO的泛型基类。
这是open()返回值的抽象泛型版本。
注意:这不会区分不同可能的类(文本与二进制、读与写、读/写、仅追加、无缓冲)。
下面的TextIO和BinaryIO子类捕获了文本与二进制之间的区别,这在接口中很普遍;
然而,我们目前还没有提供一种方法来跟踪类型系统中的其他区别。
:````

property

1 closed=<abc.abstractproperty object at 0x0000018AFD42C288> kind:property type:abstractproperty class:<class ‘typing.IO’>
2 mode=<abc.abstractproperty object at 0x0000018AFD42C1C8> kind:property type:abstractproperty class:<class ‘typing.IO’>
3 name=<abc.abstractproperty object at 0x0000018AFD42C228> kind:property type:abstractproperty class:<class ‘typing.IO’>

method
4 close(self) -> None:

kind=method class=IO objtype=function line:1514 at …\lib\typing.py

5 fileno(self) -> int:

kind=method class=IO objtype=function line:1522 at …\lib\typing.py

6 flush(self) -> None:

kind=method class=IO objtype=function line:1526 at …\lib\typing.py

7 isatty(self) -> bool:

kind=method class=IO objtype=function line:1530 at …\lib\typing.py

8 read(self, n: int = -1) -> AnyStr:

kind=method class=IO objtype=function line:1534 at …\lib\typing.py

9 readable(self) -> bool:

kind=method class=IO objtype=function line:1538 at …\lib\typing.py

10 readline(self, limit: int = -1) -> AnyStr:

kind=method class=IO objtype=function line:1542 at …\lib\typing.py

11 readlines(self, hint: int = -1) -> List[AnyStr]:

kind=method class=IO objtype=function line:1546 at …\lib\typing.py

12 seek(self, offset: int, whence: int = 0) -> int:

kind=method class=IO objtype=function line:1550 at …\lib\typing.py

13 seekable(self) -> bool:

kind=method class=IO objtype=function line:1554 at …\lib\typing.py

14 tell(self) -> int:

kind=method class=IO objtype=function line:1558 at …\lib\typing.py

15 truncate(self, size: int = None) -> int:

kind=method class=IO objtype=function line:1562 at …\lib\typing.py

16 writable(self) -> bool:

kind=method class=IO objtype=function line:1566 at …\lib\typing.py

17 write(self, s: AnyStr) -> int:

kind=method class=IO objtype=function line:1570 at …\lib\typing.py

18 writelines(self, lines: List[AnyStr]) -> None:

kind=method class=IO objtype=function line:1574 at …\lib\typing.py

🌿20 typing.NamedTuple

NamedTuple, typing.NamedTuple, module=typing, line:1364 at typing.py

namedtuple的类型化版本。

🌿21 pkg_resources._vendor.packaging._manylinux._ELFFileHeader

_ELFFileHeader, pkg_resources._vendor.packaging._manylinux._ELFFileHeader, module=pkg_resources._vendor.packaging._manylinux, line:15 at site-packages\pkg_resources_vendor\packaging_manylinux.py

data

1 EF_ARM_ABIMASK=4278190080 kind:data type:int class:<class ‘pkg_resources._vendor.packaging._manylinux._ELFFileHeader’>
2 EF_ARM_ABI_FLOAT_HARD=1024 kind:data type:int class:<class ‘pkg_resources._vendor.packaging._manylinux._ELFFileHeader’>
3 EF_ARM_ABI_VER5=83886080 kind:data type:int class:<class ‘pkg_resources._vendor.packaging._manylinux._ELFFileHeader’>
4 ELFCLASS32=1 kind:data type:int class:<class ‘pkg_resources._vendor.packaging._manylinux._ELFFileHeader’>
5 ELFCLASS64=2 kind:data type:int class:<class ‘pkg_resources._vendor.packaging._manylinux._ELFFileHeader’>
6 ELFDATA2LSB=1 kind:data type:int class:<class ‘pkg_resources._vendor.packaging._manylinux._ELFFileHeader’>
7 ELFDATA2MSB=2 kind:data type:int class:<class ‘pkg_resources._vendor.packaging._manylinux._ELFFileHeader’>
8 ELF_MAGIC_NUMBER=2135247942 kind:data type:int class:<class ‘pkg_resources._vendor.packaging._manylinux._ELFFileHeader’>
9 EM_386=3 kind:data type:int class:<class ‘pkg_resources._vendor.packaging._manylinux._ELFFileHeader’>
10 EM_ARM=40 kind:data type:int class:<class ‘pkg_resources._vendor.packaging._manylinux._ELFFileHeader’>
11 EM_S390=22 kind:data type:int class:<class ‘pkg_resources._vendor.packaging._manylinux._ELFFileHeader’>
12 EM_X86_64=62 kind:data type:int class:<class ‘pkg_resources._vendor.packaging._manylinux._ELFFileHeader’>

🌿22 pkg_resources._vendor.packaging._manylinux._GLibCVersion

_GLibCVersion, pkg_resources._vendor.packaging._manylinux._GLibCVersion, module=pkg_resources._vendor.packaging._manylinux, line:130 at site-packages\pkg_resources_vendor\packaging_manylinux.py

    _GLibCVersion(major, minor)
property

1 major=<property object at 0x0000018AFF8E4F98> kind:property type:property class:<class ‘pkg_resources._vendor.packaging._manylinux._GLibCVersion’>
2 minor=<property object at 0x0000018AFF8E9048> kind:property type:property class:<class ‘pkg_resources._vendor.packaging._manylinux._GLibCVersion’>

🔵私有或局部

23 _ELFFileHeader <class ‘pkg_resources._vendor.packaging._manylinux._ELFFileHeader’>
24 _get_elf_header <function _get_elf_header at 0x0000018AFF8DF288>
25 _is_linux_armhf <function _is_linux_armhf at 0x0000018AFF8E5168>
26 _is_linux_i686 <function _is_linux_i686 at 0x0000018AFF8E51F8>
27 _have_compatible_abi <function _have_compatible_abi at 0x0000018AFF8E5288>
28 _LAST_GLIBC_MINOR defaultdict(<function at 0x0000018AFF8E5318>, {})
29 _GLibCVersion <class ‘pkg_resources._vendor.packaging._manylinux._GLibCVersion’>
30 _glibc_version_string_confstr <function _glibc_version_string_confstr at 0x0000018AFF8E53A8>
31 _glibc_version_string_ctypes <function _glibc_version_string_ctypes at 0x0000018AFF8E5948>
32 _glibc_version_string <function _glibc_version_string at 0x0000018AFF8E59D8>
33 _parse_glibc_version <function _parse_glibc_version at 0x0000018AFF8E5A68>
34 _get_glibc_version <functools._lru_cache_wrapper object at 0x0000018AFF8CBD68>
35 _is_compatible <function _is_compatible at 0x0000018AFF8E5AF8>
36 _LEGACY_MANYLINUX_MAP {(2, 17): ‘manylinux2014’, (2, 12): ‘manylinux2010’, (2, 5): ‘manylinux1’}

🔵剩余

37 doc
38 loader <_frozen_importlib_external.SourceFileLoader object at 0x0000018AFF868388>
39 spec ModuleSpec(name=‘pkg_resources._vendor.packaging._manylinux’, loader=<_frozen_importlib_external.SourceFileLoader object at 0x0000018AFF868388>, origin=‘…\lib\site-packages\pkg_resources\_vendor\packaging\_manylinux.py’)
40 Dict typing.Dict
41 Iterator typing.Iterator
42 Optional typing.Optional
43 Tuple typing.Tuple
44 _LAST_GLIBC_MINOR defaultdict(<function at 0x0000018AFF8E5318>, {})
45 _get_glibc_version <functools._lru_cache_wrapper object at 0x0000018AFF8CBD68>

☘️【pkg_resources._vendor.packaging._musllinux】

_musllinux, fullname=pkg_resources._vendor.packaging._musllinux, file=pkg_resources_vendor\packaging_musllinux.py

PEP 656支持。该模块实现了检测当前运行的Python是否与musl相关联以及使用哪个musl版本的逻辑。
:````
## 🔵统计

序号|类别|数量
---|---|---
4|str|5
8|dict|1
9|module|8
10|class|3
11|function|4
13|residual|6
14|system|8
15|private|5
16|all|27
## 🔵模块
### 🌿1 contextlib
> contextlib, fullname=contextlib, file=contextlib.py
### 🌿2 functools
> functools, fullname=functools, file=functools.py
### 🌿3 operator
> operator, fullname=operator, file=operator.py
### 🌿4 os
> os, fullname=os, file=os.py
### 🌿5 re
> re, fullname=re, file=re.py
### 🌿6 struct
> struct, fullname=struct, file=struct.py
### 🌿7 subprocess
> subprocess, fullname=subprocess, file=subprocess.py
### 🌿8 sys
> sys, fullname=sys, file=
## 🔵函数
### 🌿9 _read_unpacked(f: IO[bytes], fmt: str) -> Tuple[int, ...]
> _read_unpacked(f: IO[bytes], fmt: str) -> Tuple[int, ...], module=pkg_resources._vendor.packaging._musllinux, line:18 at site-packages\pkg_resources\_vendor\packaging\_musllinux.py
### 🌿10 _parse_ld_musl_from_elf(f: IO[bytes]) -> Union[str, NoneType]
> _parse_ld_musl_from_elf(f: IO[bytes]) -> Union[str, NoneType], module=pkg_resources._vendor.packaging._musllinux, line:22 at site-packages\pkg_resources\_vendor\packaging\_musllinux.py

通过解析Python可执行文件来检测代码库位置。
基于:
ELF头:
:````

🌿11 _parse_musl_version(output: str) -> Union[pkg_resources._vendor.packaging._musllinux._MuslVersion, NoneType]

_parse_musl_version(output: str) -> Union[pkg_resources._vendor.packaging._musllinux._MuslVersion, NoneType], module=pkg_resources._vendor.packaging._musllinux, line:76 at site-packages\pkg_resources_vendor\packaging_musllinux.py

🌿12 platform_tags(arch: str) -> Iterator[str]

platform_tags(arch: str) -> Iterator[str], module=pkg_resources._vendor.packaging._musllinux, line:110 at site-packages\pkg_resources_vendor\packaging_musllinux.py

生成与当前平台兼容的musllinux标签。
    :param arch: 应该是 ``linux_`` 前缀之后的平台标签的一部分,例如: ``x86_64``。
                    ``linux_``  前缀被认为是当前平台与musllinux兼容的先决条件。
    :returns:   兼容的musllinux标签的迭代器。

🔵类

🌿13 typing.IO

IO, typing.IO, module=typing, line:1490 at typing.py

🌿13 typing.NamedTuple

NamedTuple, typing.NamedTuple, module=typing, line:1364 at typing.py

🌿13 pkg_resources._vendor.packaging._musllinux._MuslVersion

_MuslVersion, pkg_resources._vendor.packaging._musllinux._MuslVersion, module=pkg_resources._vendor.packaging._musllinux, line:71 at site-packages\pkg_resources_vendor\packaging_musllinux.py

    _MuslVersion(major, minor)
property

1 major=<property object at 0x0000018AFF8E9EA8> kind:property type:property class:<class ‘pkg_resources._vendor.packaging._musllinux._MuslVersion’>
2 minor=<property object at 0x0000018AFF8E9EF8> kind:property type:property class:<class ‘pkg_resources._vendor.packaging._musllinux._MuslVersion’>

🔵私有或局部

14 _read_unpacked <function _read_unpacked at 0x0000018AFF8E1558>
15 _parse_ld_musl_from_elf <function _parse_ld_musl_from_elf at 0x0000018AFF8EB288>
16 _MuslVersion <class ‘pkg_resources._vendor.packaging._musllinux._MuslVersion’>
17 _parse_musl_version <function _parse_musl_version at 0x0000018AFF8EB318>
18 _get_musl_version <functools._lru_cache_wrapper object at 0x0000018AFF8CBAE8>

🔵剩余

19 loader <_frozen_importlib_external.SourceFileLoader object at 0x0000018AFF8E6388>
20 spec ModuleSpec(name=‘pkg_resources._vendor.packaging._musllinux’, loader=<_frozen_importlib_external.SourceFileLoader object at 0x0000018AFF8E6388>, origin=‘…\lib\site-packages\pkg_resources\_vendor\packaging\_musllinux.py’)
21 Iterator typing.Iterator
22 Optional typing.Optional
23 Tuple typing.Tuple
24 _get_musl_version <functools._lru_cache_wrapper object at 0x0000018AFF8CBAE8>

☘️【pkg_resources.extern.packaging.tags】

tags, fullname=pkg_resources.extern.packaging.tags, file=pkg_resources_vendor\packaging\tags.py

🔵统计

序号类别数量
2bool1
4str4
6list1
8dict3
9module6
10class1
11function21
13residual15
14system9
15private14
16all52

🔵常量

🌿bool

1 _32_BIT_INTERPRETER False

🌿list

2 EXTENSION_SUFFIXES [‘.cp37-win_amd64.pyd’, ‘.pyd’]

🌿dict

3 INTERPRETER_SHORT_NAMES {‘python’: ‘py’, ‘cpython’: ‘cp’, ‘pypy’: ‘pp’, ‘ironpython’: ‘ip’, ‘jython’: ‘jy’}

🔵模块

🌿4 logging

logging, fullname=logging, file=logging_init_.py

🌿5 platform

platform, fullname=platform, file=platform.py

🌿6 sys

sys, fullname=sys, file=

🌿7 sysconfig

sysconfig, fullname=sysconfig, file=sysconfig.py

🌿8 pkg_resources._vendor.packaging._manylinux

_manylinux, fullname=pkg_resources._vendor.packaging._manylinux, file=pkg_resources_vendor\packaging_manylinux.py

🌿9 pkg_resources._vendor.packaging._musllinux

_musllinux, fullname=pkg_resources._vendor.packaging._musllinux, file=pkg_resources_vendor\packaging_musllinux.py

PEP 656支持。
该模块实现了检测当前运行的Python是否与musl相关联以及使用哪个musl版本的逻辑。
:````
## 🔵函数
### 🌿10 cast(typ, val)
> cast(typ, val), module=typing, line:898 at typing.py

将值强制转换为类型。
这将返回不变的值。
对于类型检查器,这表明返回值具有指定的类型,但在运行时,我们故意不检查任何内容(我们希望这尽可能快)。
:````

🌿11 parse_tag(tag: str) -> FrozenSet[pkg_resources.extern.packaging.tags.Tag]

parse_tag(tag: str) -> FrozenSet[pkg_resources.extern.packaging.tags.Tag], module=pkg_resources.extern.packaging.tags, line:96 at site-packages\pkg_resources_vendor\packaging\tags.py

解析所提供的标签(例如:'py3-none-any')冻结为一组Tag实例。
由于标记可能是压缩标记集,因此需要返回一个集合。
:````
### 🌿12 _get_config_var(name: str, warn: bool = False) -> Union[int, str, NoneType]
> _get_config_var(name: str, warn: bool = False) -> Union[int, str, NoneType], module=pkg_resources.extern.packaging.tags, line:112 at site-packages\pkg_resources\_vendor\packaging\tags.py
### 🌿13 _normalize_string(string: str) -> str
> _normalize_string(string: str) -> str, module=pkg_resources.extern.packaging.tags, line:121 at site-packages\pkg_resources\_vendor\packaging\tags.py
### 🌿14 _abi3_applies(python_version: Sequence[int]) -> bool
> _abi3_applies(python_version: Sequence[int]) -> bool, module=pkg_resources.extern.packaging.tags, line:125 at site-packages\pkg_resources\_vendor\packaging\tags.py

确定Python版本是否支持abi3。
PEP 384首次在Python 3.2中实现。
:````

🌿15 _cpython_abis(py_version: Sequence[int], warn: bool = False) -> List[str]

_cpython_abis(py_version: Sequence[int], warn: bool = False) -> List[str], module=pkg_resources.extern.packaging.tags, line:134 at site-packages\pkg_resources_vendor\packaging\tags.py

🌿16 cpython_tags(python_version: Union[Sequence[int], NoneType] = None, abis: Union[Iterable[str], NoneType] = None, platforms: Union[Iterable[str], NoneType] = None, *, warn: bool = False) -> Iterator[pkg_resources.extern.packaging.tags.Tag]

cpython_tags(python_version: Union[Sequence[int], NoneType] = None, abis: Union[Iterable[str], NoneType] = None, platforms: Union[Iterable[str], NoneType] = None, *, warn: bool = False) -> Iterator[pkg_resources.extern.packaging.tags.Tag], module=pkg_resources.extern.packaging.tags, line:170 at site-packages\pkg_resources_vendor\packaging\tags.py

生成CPython解释器的标签。
    标记包括:
    - cp<python version>-<abi>-<platform>
    - cp<python version>-abi3-<platform>
    - cp<python version>-none-<platform>
    - cp<小于python version>-abi3-<platform> #旧python版本低于3.2。
    如果python_version只指定主版本,则使用用户提供的ABI和'none' ABItag。
    如果'abis'中指定了'abi3'或'none',则它们将在其正常位置而不是在开始位置产生。

🌿17 _generic_abi() -> Iterator[str]

_generic_abi() -> Iterator[str], module=pkg_resources.extern.packaging.tags, line:227 at site-packages\pkg_resources_vendor\packaging\tags.py

🌿18 generic_tags(interpreter: Union[str, NoneType] = None, abis: Union[Iterable[str], NoneType] = None, platforms: Union[Iterable[str], NoneType] = None, *, warn: bool = False) -> Iterator[pkg_resources.extern.packaging.tags.Tag]

generic_tags(interpreter: Union[str, NoneType] = None, abis: Union[Iterable[str], NoneType] = None, platforms: Union[Iterable[str], NoneType] = None, *, warn: bool = False) -> Iterator[pkg_resources.extern.packaging.tags.Tag], module=pkg_resources.extern.packaging.tags, line:233 at site-packages\pkg_resources_vendor\packaging\tags.py

生成泛型解释器的标记。
    标记包括:
        -< interpreter>-<abi>-<platform>
        如果没有显式提供,将添加"none" ABI。

🌿19 _py_interpreter_range(py_version: Sequence[int]) -> Iterator[str]

_py_interpreter_range(py_version: Sequence[int]) -> Iterator[str], module=pkg_resources.extern.packaging.tags, line:263 at site-packages\pkg_resources_vendor\packaging\tags.py

按降序生成Python版本。
在最新版本之后,将生成仅主要版本,然后是该主要版本的所有以前版本。
:````
### 🌿20 compatible_tags(python_version: Union[Sequence[int], NoneType] = None, interpreter: Union[str, NoneType] = None, platforms: Union[Iterable[str], NoneType] = None) -> Iterator[pkg_resources.extern.packaging.tags.Tag]
> compatible_tags(python_version: Union[Sequence[int], NoneType] = None, interpreter: Union[str, NoneType] = None, platforms: Union[Iterable[str], NoneType] = None) -> Iterator[pkg_resources.extern.packaging.tags.Tag], module=pkg_resources.extern.packaging.tags, line:278 at site-packages\pkg_resources\_vendor\packaging\tags.py

生成与特定Python版本兼容的标记序列。
这些标签包括:
- py*-none-
-< interpreter>-none-any #…如果提供了’ interpreter '。
- py * -none-any
:````

🌿21 _mac_arch(arch: str, is_32bit: bool = False) -> str

_mac_arch(arch: str, is_32bit: bool = False) -> str, module=pkg_resources.extern.packaging.tags, line:303 at site-packages\pkg_resources_vendor\packaging\tags.py

🌿22 _mac_binary_formats(version: Tuple[int, int], cpu_arch: str) -> List[str]

_mac_binary_formats(version: Tuple[int, int], cpu_arch: str) -> List[str], module=pkg_resources.extern.packaging.tags, line:313 at site-packages\pkg_resources_vendor\packaging\tags.py

🌿23 mac_platforms(version: Union[Tuple[int, int], NoneType] = None, arch: Union[str, NoneType] = None) -> Iterator[str]

mac_platforms(version: Union[Tuple[int, int], NoneType] = None, arch: Union[str, NoneType] = None) -> Iterator[str], module=pkg_resources.extern.packaging.tags, line:345 at site-packages\pkg_resources_vendor\packaging\tags.py

生成macOS系统的平台标记。
    `version` 参数是一个包含两项的元组,指定要为其生成平台标签的macOS版本。
    `arch` 参数是要生成平台标签的CPU架构。这两个参数默认为当前系统的适当值。
:````
### 🌿24 _linux_platforms(is_32bit: bool = False) -> Iterator[str]
> _linux_platforms(is_32bit: bool = False) -> Iterator[str], module=pkg_resources.extern.packaging.tags, line:417 at site-packages\pkg_resources\_vendor\packaging\tags.py
### 🌿25 _generic_platforms() -> Iterator[str]
> _generic_platforms() -> Iterator[str], module=pkg_resources.extern.packaging.tags, line:430 at site-packages\pkg_resources\_vendor\packaging\tags.py
### 🌿26 platform_tags() -> Iterator[str]
> platform_tags() -> Iterator[str], module=pkg_resources.extern.packaging.tags, line:434 at site-packages\pkg_resources\_vendor\packaging\tags.py

提供此安装的平台标记。

### 🌿27 interpreter_name() -> str
> interpreter_name() -> str, module=pkg_resources.extern.packaging.tags, line:446 at site-packages\pkg_resources\_vendor\packaging\tags.py

返回正在运行的解释器的名称。

### 🌿28 interpreter_version(*, warn: bool = False) -> str
> interpreter_version(*, warn: bool = False) -> str, module=pkg_resources.extern.packaging.tags, line:454 at site-packages\pkg_resources\_vendor\packaging\tags.py

返回正在运行的解释器的版本。

### 🌿29 _version_nodot(version: Sequence[int]) -> str
> _version_nodot(version: Sequence[int]) -> str, module=pkg_resources.extern.packaging.tags, line:466 at site-packages\pkg_resources\_vendor\packaging\tags.py
### 🌿30 sys_tags(*, warn: bool = False) -> Iterator[pkg_resources.extern.packaging.tags.Tag]
> sys_tags(*, warn: bool = False) -> Iterator[pkg_resources.extern.packaging.tags.Tag], module=pkg_resources.extern.packaging.tags, line:470 at site-packages\pkg_resources\_vendor\packaging\tags.py

返回正在运行的解释器的标记三元组序列。
序列的顺序对应于解释器的优先级顺序,从最重要到最不重要。
:````

🔵类

🌿31 pkg_resources.extern.packaging.tags.Tag

Tag, pkg_resources.extern.packaging.tags.Tag, module=pkg_resources.extern.packaging.tags, line:42 at site-packages\pkg_resources_vendor\packaging\tags.py

车轮标记三元组的表示形式。
实例被认为是不可变的,因此是可哈希的。还支持相等性检查。
:````
#### property
> 1	abi=<property object at 0x0000018AFF8ED188>	kind:property	type:property	class:<class 'pkg_resources.extern.packaging.tags.Tag'>	
> 2	interpreter=<property object at 0x0000018AFF8ED0E8>	kind:property	type:property	class:<class 'pkg_resources.extern.packaging.tags.Tag'>	
> 3	platform=<property object at 0x0000018AFF8ED228>	kind:property	type:property	class:<class 'pkg_resources.extern.packaging.tags.Tag'>	
## 🔵私有或局部
> 32	_manylinux	<module 'pkg_resources._vendor.packaging._manylinux' from '...\\lib\\site-packages\\pkg_resources\\_vendor\\packaging\\_manylinux.py'>
> 33	_musllinux	<module 'pkg_resources._vendor.packaging._musllinux' from '...\\lib\\site-packages\\pkg_resources\\_vendor\\packaging\\_musllinux.py'>
> 34	_32_BIT_INTERPRETER	False
> 35	_get_config_var	<function _get_config_var at 0x0000018AFF8EBD38>
> 36	_normalize_string	<function _normalize_string at 0x0000018AFF8EBDC8>
> 37	_abi3_applies	<function _abi3_applies at 0x0000018AFF8EBE58>
> 38	_cpython_abis	<function _cpython_abis at 0x0000018AFF8EBEE8>
> 39	_generic_abi	<function _generic_abi at 0x0000018AFF8EA048>
> 40	_py_interpreter_range	<function _py_interpreter_range at 0x0000018AFF8EA168>
> 41	_mac_arch	<function _mac_arch at 0x0000018AFF8EA288>
> 42	_mac_binary_formats	<function _mac_binary_formats at 0x0000018AFF8EA318>
> 43	_linux_platforms	<function _linux_platforms at 0x0000018AFF8EA438>
> 44	_generic_platforms	<function _generic_platforms at 0x0000018AFF8EA4C8>
> 45	_version_nodot	<function _version_nodot at 0x0000018AFF8EA708>
## 🔵剩余
> 46	__doc__	
> 47	__loader__	<_frozen_importlib_external.SourceFileLoader object at 0x0000018AFF8C8D08>
> 48	__spec__	ModuleSpec(name='pkg_resources.extern.packaging.tags', loader=<_frozen_importlib_external.SourceFileLoader object at 0x0000018AFF8C8D08>, origin='...\\lib\\site-packages\\pkg_resources\\_vendor\\packaging\\tags.py')
> 49	Dict	typing.Dict
> 50	FrozenSet	typing.FrozenSet
> 51	Iterable	typing.Iterable
> 52	Iterator	typing.Iterator
> 53	List	typing.List
> 54	Optional	typing.Optional
> 55	Sequence	typing.Sequence
> 56	Tuple	typing.Tuple
> 57	Union	typing.Union
> 58	logger	<Logger pkg_resources.extern.packaging.tags (WARNING)>
> 59	PythonVersion	typing.Sequence[int]
> 60	MacVersion	typing.Tuple[int, int]
## ☘️【pkg_resources.extern.packaging.utils】
> utils, fullname=pkg_resources.extern.packaging.utils, file=pkg_resources\_vendor\packaging\utils.py
## 🔵统计

序号|类别|数量
---|---|---
4|str|4
8|dict|1
9|module|1
10|class|5
11|function|8
13|residual|9
14|system|8
15|private|2
16|all|28
## 🔵模块
### 🌿1 re
> re, fullname=re, file=re.py
## 🔵函数
### 🌿2 NewType(name, tp)
> NewType(name, tp), module=typing, line:1455 at typing.py

NewType创建简单的唯一类型,运行时开销几乎为零。
静态类型检查器认为NewType(name, tp)是tp的子类型。
在运行时,NewType(name, tp)返回一个虚拟函数,该函数只返回其参数。
用法:
UserId = NewType(‘UserId’, int)
def name_by_id(user_id: UserId) -> str:

UserId(‘user’) # Fails type check
name_by_id(42) # Fails type check
name_by_id(UserId(42)) # OK
num = UserId(5) + 1 # type: int

### 🌿3 cast(typ, val)
> cast(typ, val), module=typing, line:898 at typing.py

将值强制转换为类型。
这将返回不变的值。对于类型检查器,这表明返回值具有指定的类型,
但在运行时,我们故意不检查任何内容(我们希望这尽可能快)。
:````

🌿4 parse_tag(tag: str) -> FrozenSet[pkg_resources.extern.packaging.tags.Tag]

parse_tag(tag: str) -> FrozenSet[pkg_resources.extern.packaging.tags.Tag], module=pkg_resources.extern.packaging.tags, line:96 at site-packages\pkg_resources_vendor\packaging\tags.py

解析所提供的标签(例如:'py3-none-any')冻结为一组Tag实例。
由于标记可能是压缩标记集,因此需要返回一个集合。
:````
### 🌿5 NormalizedName(x)
> NormalizedName(x), module=typing, line:1474 at typing.py
### 🌿6 canonicalize_name(name: str) -> <function NewType.<locals>.new_type at 0x0000018AFF8D1D38>
> canonicalize_name(name: str) -> <function NewType.<locals>.new_type at 0x0000018AFF8D1D38>, module=pkg_resources.extern.packaging.utils, line:32 at site-packages\pkg_resources\_vendor\packaging\utils.py
### 🌿7 canonicalize_version(version: Union[pkg_resources.extern.packaging.version.Version, str]) -> str
> canonicalize_version(version: Union[pkg_resources.extern.packaging.version.Version, str]) -> str, module=pkg_resources.extern.packaging.utils, line:38 at site-packages\pkg_resources\_vendor\packaging\utils.py

这与Version.__str__非常相似,但是它处理发布段的方式有一个微妙的区别。

### 🌿8 parse_wheel_filename(filename: str) -> Tuple[NormalizedName, pkg_resources.extern.packaging.version.Version, Union[Tuple[()], Tuple[int, str]], FrozenSet[pkg_resources.extern.packaging.tags.Tag]]
> parse_wheel_filename(filename: str) -> Tuple[NormalizedName, pkg_resources.extern.packaging.version.Version, Union[Tuple[()], Tuple[int, str]], FrozenSet[pkg_resources.extern.packaging.tags.Tag]], module=pkg_resources.extern.packaging.utils, line:81 at site-packages\pkg_resources\_vendor\packaging\utils.py
### 🌿9 parse_sdist_filename(filename: str) -> Tuple[NormalizedName, pkg_resources.extern.packaging.version.Version]
> parse_sdist_filename(filename: str) -> Tuple[NormalizedName, pkg_resources.extern.packaging.version.Version], module=pkg_resources.extern.packaging.utils, line:117 at site-packages\pkg_resources\_vendor\packaging\utils.py
## 🔵类
### 🌿10 pkg_resources.extern.packaging.tags.Tag
> Tag, pkg_resources.extern.packaging.tags.Tag, module=pkg_resources.extern.packaging.tags, line:42 at site-packages\pkg_resources\_vendor\packaging\tags.py
### 🌿10 pkg_resources.extern.packaging.version.InvalidVersion
> InvalidVersion, pkg_resources.extern.packaging.version.InvalidVersion, module=pkg_resources.extern.packaging.version, line:54 at site-packages\pkg_resources\_vendor\packaging\version.py
### 🌿10 pkg_resources.extern.packaging.version.Version
> Version, pkg_resources.extern.packaging.version.Version, module=pkg_resources.extern.packaging.version, line:257 at site-packages\pkg_resources\_vendor\packaging\version.py
### 🌿10 pkg_resources.extern.packaging.utils.InvalidWheelFilename
> InvalidWheelFilename, pkg_resources.extern.packaging.utils.InvalidWheelFilename, module=pkg_resources.extern.packaging.utils, line:15 at site-packages\pkg_resources\_vendor\packaging\utils.py

发现一个无效的车轮文件名,用户应参考PEP 427。

### 🌿11 pkg_resources.extern.packaging.utils.InvalidSdistFilename
> InvalidSdistFilename, pkg_resources.extern.packaging.utils.InvalidSdistFilename, module=pkg_resources.extern.packaging.utils, line:21 at site-packages\pkg_resources\_vendor\packaging\utils.py

发现一个无效的sdist文件名,用户应该参考打包用户指南。

## 🔵私有或局部
> 12	_canonicalize_regex	re.compile('[-_.]+')
> 13	_build_tag_regex	re.compile('(\\d+)(.*)')
## 🔵剩余
> 14	__doc__	
> 15	__loader__	<_frozen_importlib_external.SourceFileLoader object at 0x0000018AFF8C8388>
> 16	__spec__	ModuleSpec(name='pkg_resources.extern.packaging.utils', loader=<_frozen_importlib_external.SourceFileLoader object at 0x0000018AFF8C8388>, origin='...\\lib\\site-packages\\pkg_resources\\_vendor\\packaging\\utils.py')
> 17	FrozenSet	typing.FrozenSet
> 18	Tuple	typing.Tuple
> 19	Union	typing.Union
> 20	BuildTag	typing.Union[typing.Tuple[()], typing.Tuple[int, str]]
> 21	_canonicalize_regex	re.compile('[-_.]+')
> 22	_build_tag_regex	re.compile('(\\d+)(.*)')
## ☘️【pkg_resources.extern.packaging.specifiers】
> specifiers, fullname=pkg_resources.extern.packaging.specifiers, file=pkg_resources\_vendor\packaging\specifiers.py
## 🔵统计

序号|类别|数量
---|---|---
4|str|4
8|dict|1
9|module|5
10|class|9
11|function|6
13|residual|18
14|system|8
15|private|6
16|all|43
## 🔵模块
### 🌿1 abc
> abc, fullname=abc, file=abc.py
### 🌿2 functools
> functools, fullname=functools, file=functools.py
### 🌿3 itertools
> itertools, fullname=itertools, file=
### 🌿4 re
> re, fullname=re, file=re.py
### 🌿5 warnings
> warnings, fullname=warnings, file=warnings.py
## 🔵函数
### 🌿6 canonicalize_version(version: Union[pkg_resources.extern.packaging.version.Version, str]) -> str
> canonicalize_version(version: Union[pkg_resources.extern.packaging.version.Version, str]) -> str, module=pkg_resources.extern.packaging.utils, line:38 at site-packages\pkg_resources\_vendor\packaging\utils.py

这与 Version.str 非常相似,但是它处理发布段的方式有一个微妙的区别。

### 🌿7 parse(version: str) -> Union[ForwardRef('LegacyVersion'), ForwardRef('Version')]
> parse(version: str) -> Union[ForwardRef('LegacyVersion'), ForwardRef('Version')], module=pkg_resources.extern.packaging.version, line:42 at site-packages\pkg_resources\_vendor\packaging\version.py

解析给定的版本字符串并返回:class:version 对象或 :class:LegacyVersion 对象,具体取决于给定的版本是有效的PEP 440版本还是遗留版本。
:````

🌿8 _require_version_compare(fn: Callable[[ForwardRef(‘Specifier’), Union[pkg_resources.extern.packaging.version.Version, pkg_resources.extern.packaging.version.LegacyVersion], str], bool]) -> Callable[[ForwardRef(‘Specifier’), Union[pkg_resources.extern.packaging.version.Version, pkg_resources.extern.packaging.version.LegacyVersion], str], bool]

_require_version_compare(fn: Callable[[ForwardRef(‘Specifier’), Union[pkg_resources.extern.packaging.version.Version, pkg_resources.extern.packaging.version.LegacyVersion], str], bool]) -> Callable[[ForwardRef(‘Specifier’), Union[pkg_resources.extern.packaging.version.Version, pkg_resources.extern.packaging.version.LegacyVersion], str], bool], module=pkg_resources.extern.packaging.specifiers, line:305 at site-packages\pkg_resources_vendor\packaging\specifiers.py

🌿9 _version_split(version: str) -> List[str]

_version_split(version: str) -> List[str], module=pkg_resources.extern.packaging.specifiers, line:603 at site-packages\pkg_resources_vendor\packaging\specifiers.py

🌿10 _is_not_suffix(segment: str) -> bool

_is_not_suffix(segment: str) -> bool, module=pkg_resources.extern.packaging.specifiers, line:614 at site-packages\pkg_resources_vendor\packaging\specifiers.py

🌿11 _pad_version(left: List[str], right: List[str]) -> Tuple[List[str], List[str]]

_pad_version(left: List[str], right: List[str]) -> Tuple[List[str], List[str]], module=pkg_resources.extern.packaging.specifiers, line:620 at site-packages\pkg_resources_vendor\packaging\specifiers.py

🔵类

🌿12 typing.TypeVar

TypeVar, typing.TypeVar, module=typing, line:488 at typing.py

类型变量。
    用法:
      T = TypeVar('T')  # 可以是任何值
      A = TypeVar('A', str, bytes)  # 必须是str或bytes
    类型变量的存在主要是为了方便静态类型检查器。它们作为泛型类型和泛型函数定义的参数。
    有关泛型类型的更多信息,请参阅泛型类。泛型函数的工作方式如下:
       def repeat(x: T, n: int) -> List[T]:
          '''返回包含n个对x的引用的列表。'''
          return [x]*n
      def longest(x: A, y: A) -> A:
          '''返回两个字符串中最长的字符串。'''
          return x if len(x) >= len(y) else y
    后一个例子的签名本质上是(str, str) -> str和(bytes, bytes) -> bytes的重载。
    还请注意,如果参数是str的某个子类的实例,则返回类型仍然是普通str。
    在运行时,isinstance(x, T)和issubclass(C, T)将引发TypeError。
    用covariant=True或contravant =True定义的类型变量可用于声明协变或逆变泛型。
    有关更多细节,请参阅PEP 484。
    默认情况下,泛型类型在所有类型变量中都是不变的。类型变量可以自省。
    例如:
        T.__name__ == 'T'
        T.__constraints__ == ()
        T.__covariant__ == False
        T.__contravariant__ = False
        A.__constraints__ == (str, bytes)
    注意,只有在全局作用域中定义的类型变量才能被pickle。

🌿13 pkg_resources.extern.packaging.version.LegacyVersion

LegacyVersion, pkg_resources.extern.packaging.version.LegacyVersion, module=pkg_resources.extern.packaging.version, line:106 at site-packages\pkg_resources_vendor\packaging\version.py

🌿13 pkg_resources.extern.packaging.version.Version

Version, pkg_resources.extern.packaging.version.Version, module=pkg_resources.extern.packaging.version, line:257 at site-packages\pkg_resources_vendor\packaging\version.py

🌿13 pkg_resources.extern.packaging.specifiers.InvalidSpecifier

InvalidSpecifier, pkg_resources.extern.packaging.specifiers.InvalidSpecifier, module=pkg_resources.extern.packaging.specifiers, line:33 at site-packages\pkg_resources_vendor\packaging\specifiers.py

发现一个无效的说明符,用户应参考PEP 440。

🌿14 pkg_resources.extern.packaging.specifiers.BaseSpecifier

BaseSpecifier, pkg_resources.extern.packaging.specifiers.BaseSpecifier, module=pkg_resources.extern.packaging.specifiers, line:39 at site-packages\pkg_resources_vendor\packaging\specifiers.py

property

1 prereleases=<abc.abstractproperty object at 0x0000018AFF8EC1C8> kind:property type:abstractproperty class:<class ‘pkg_resources.extern.packaging.specifiers.BaseSpecifier’>

method
2 contains(self, item: str, prereleases: Optional[bool] = None) -> bool:

kind=method class=BaseSpecifier objtype=function line:82 at …\lib\site-packages\pkg_resources_vendor\packaging\specifiers.py

确定给定项是否包含在此说明符中。
3 filter(

kind=method class=BaseSpecifier objtype=function line:88 at …\lib\site-packages\pkg_resources_vendor\packaging\specifiers.py

获取项的可迭代对象并对其进行筛选,以便只允许包含在此说明符中的项在其中。

🌿15 pkg_resources.extern.packaging.specifiers._IndividualSpecifier

_IndividualSpecifier, pkg_resources.extern.packaging.specifiers._IndividualSpecifier, module=pkg_resources.extern.packaging.specifiers, line:97 at site-packages\pkg_resources_vendor\packaging\specifiers.py

property

1 operator=<property object at 0x0000018AFF8F60E8> kind:property type:property class:<class ‘pkg_resources.extern.packaging.specifiers._IndividualSpecifier’>
2 prereleases=<property object at 0x0000018AFF8F62C8> kind:property type:property class:<class ‘pkg_resources.extern.packaging.specifiers._IndividualSpecifier’>
3 version=<property object at 0x0000018AFF8F6188> kind:property type:property class:<class ‘pkg_resources.extern.packaging.specifiers._IndividualSpecifier’>

method
4 contains(

kind=method class=_IndividualSpecifier objtype=function line:186 at …\lib\site-packages\pkg_resources_vendor\packaging\specifiers.py

5 filter(

kind=method class=_IndividualSpecifier objtype=function line:209 at …\lib\site-packages\pkg_resources_vendor\packaging\specifiers.py

🌿16 pkg_resources.extern.packaging.specifiers.LegacySpecifier

LegacySpecifier, pkg_resources.extern.packaging.specifiers.LegacySpecifier, module=pkg_resources.extern.packaging.specifiers, line:245 at site-packages\pkg_resources_vendor\packaging\specifiers.py

🌿17 pkg_resources.extern.packaging.specifiers.Specifier

Specifier, pkg_resources.extern.packaging.specifiers.Specifier, module=pkg_resources.extern.packaging.specifiers, line:317 at site-packages\pkg_resources_vendor\packaging\specifiers.py

property

1 prereleases=<property object at 0x0000018AFF8F6AE8> kind:property type:property class:<class ‘pkg_resources.extern.packaging.specifiers.Specifier’>

🌿18 pkg_resources.extern.packaging.specifiers.SpecifierSet

SpecifierSet, pkg_resources.extern.packaging.specifiers.SpecifierSet, module=pkg_resources.extern.packaging.specifiers, line:638 at site-packages\pkg_resources_vendor\packaging\specifiers.py

property

1 prereleases=<property object at 0x0000018AFF8F6E58> kind:property type:property class:<class ‘pkg_resources.extern.packaging.specifiers.SpecifierSet’>

method
2 contains(

kind=method class=SpecifierSet objtype=function line:748 at …\lib\site-packages\pkg_resources_vendor\packaging\specifiers.py

3 filter(

kind=method class=SpecifierSet objtype=function line:777 at …\lib\site-packages\pkg_resources_vendor\packaging\specifiers.py

🔵私有或局部

19 _IndividualSpecifier <class ‘pkg_resources.extern.packaging.specifiers._IndividualSpecifier’>
20 _require_version_compare <function _require_version_compare at 0x0000018AFF8F7948>
21 _prefix_regex re.compile(‘^([0-9]+)((?:a|b|c|rc)[0-9]+)$’)
22 _version_split <function _version_split at 0x0000018AFF8F79D8>
23 _is_not_suffix <function _is_not_suffix at 0x0000018AFF907438>
24 _pad_version <function _pad_version at 0x0000018AFF9074C8>

🔵剩余

25 doc
26 loader <_frozen_importlib_external.SourceFileLoader object at 0x0000018AFF8B3F88>
27 spec ModuleSpec(name=‘pkg_resources.extern.packaging.specifiers’, loader=<_frozen_importlib_external.SourceFileLoader object at 0x0000018AFF8B3F88>, origin=‘…\lib\site-packages\pkg_resources\_vendor\packaging\specifiers.py’)
28 Callable typing.Callable
29 Dict typing.Dict
30 Iterable typing.Iterable
31 Iterator typing.Iterator
32 List typing.List
33 Optional typing.Optional
34 Pattern typing.Pattern
35 Set typing.Set
36 Tuple typing.Tuple
37 Union typing.Union
38 ParsedVersion typing.Union[pkg_resources.extern.packaging.version.Version, pkg_resources.extern.packaging.version.LegacyVersion]
39 UnparsedVersion typing.Union[pkg_resources.extern.packaging.version.Version, pkg_resources.extern.packaging.version.LegacyVersion, str]
40 VersionTypeVar ~VersionTypeVar
41 CallableOperator typing.Callable[[typing.Union[pkg_resources.extern.packaging.version.Version, pkg_resources.extern.packaging.version.LegacyVersion], str], bool]
42 _prefix_regex re.compile(‘^([0-9]+)((?:a|b|c|rc)[0-9]+)$’)

☘️【pkg_resources.extern.packaging.markers】

markers, fullname=pkg_resources.extern.packaging.markers, file=pkg_resources_vendor\packaging\markers.py

🔵统计

序号类别数量
4str4
6list1
8dict4
9module4
10class18
11function7
13residual26
14system10
15private7
16all64

🔵常量

🌿dict

1 ALIASES {‘os.name’: ‘os_name’, ‘sys.platform’: ‘sys_platform’, ‘platform.version’: ‘platform_version’, ‘platform.machine’: 'plat…
2 _operators {‘in’: <function at 0x0000018AFF93B4C8>, ‘not in’: <function at 0x0000018AFF93B798>, ‘<’: <built-in fu…

🔵模块

🌿3 operator

operator, fullname=operator, file=operator.py

🌿4 os

os, fullname=os, file=os.py

🌿5 platform

platform, fullname=platform, file=platform.py

🌿6 sys

sys, fullname=sys, file=

🔵函数

🌿7 _coerce_parse_result(results: Union[pkg_resources._vendor.pyparsing.ParseResults, List[Any]]) -> List[Any]

_coerce_parse_result(results: Union[pkg_resources._vendor.pyparsing.ParseResults, List[Any]]) -> List[Any], module=pkg_resources.extern.packaging.markers, line:141 at site-packages\pkg_resources_vendor\packaging\markers.py

🌿8 _format_marker(marker: Union[List[str], Tuple[pkg_resources.extern.packaging.markers.Node, …], str], first: Union[bool, NoneType] = True) -> str

_format_marker(marker: Union[List[str], Tuple[pkg_resources.extern.packaging.markers.Node, …], str], first: Union[bool, NoneType] = True) -> str, module=pkg_resources.extern.packaging.markers, line:148 at site-packages\pkg_resources_vendor\packaging\markers.py

🌿9 _eval_op(lhs: str, op: pkg_resources.extern.packaging.markers.Op, rhs: str) -> bool

_eval_op(lhs: str, op: pkg_resources.extern.packaging.markers.Op, rhs: str) -> bool, module=pkg_resources.extern.packaging.markers, line:189 at site-packages\pkg_resources_vendor\packaging\markers.py

🌿10 _get_env(environment: Dict[str, str], name: str) -> str

_get_env(environment: Dict[str, str], name: str) -> str, module=pkg_resources.extern.packaging.markers, line:211 at site-packages\pkg_resources_vendor\packaging\markers.py

🌿11 _evaluate_markers(markers: List[Any], environment: Dict[str, str]) -> bool

_evaluate_markers(markers: List[Any], environment: Dict[str, str]) -> bool, module=pkg_resources.extern.packaging.markers, line:222 at site-packages\pkg_resources_vendor\packaging\markers.py

🌿12 format_full_version(info: ‘sys._version_info’) -> str

format_full_version(info: ‘sys._version_info’) -> str, module=pkg_resources.extern.packaging.markers, line:249 at site-packages\pkg_resources_vendor\packaging\markers.py

🌿13 default_environment() -> Dict[str, str]

default_environment() -> Dict[str, str], module=pkg_resources.extern.packaging.markers, line:257 at site-packages\pkg_resources_vendor\packaging\markers.py

🔵类

🌿14 pkg_resources._vendor.pyparsing.Forward

Forward, pkg_resources._vendor.pyparsing.Forward, module=pkg_resources._vendor.pyparsing, line:4141 at site-packages\pkg_resources_vendor\pyparsing.py

以后要定义的表达式的前向声明——用于递归语法,如代数中缀表示法。
    当表达式已知时,使用'<<'操作符将其赋值给C{Forward}变量。
    注意:在给C{Forward}赋值时要小心,不要忽略运算符的优先级。
    具体来说,'|'的优先级低于'<<',因此:
        fwdExpr << a | b | c
    实际上会被计算为:
        fwdExpr << (a | b | c)
    转换为使用'<<='操作符可以避免此问题。
    参见:L {ParseResults。使用C{Forward}创建递归解析器的示例。
method
1 copy(self)

kind=method class=Forward objtype=function line:4214 at …\lib\site-packages\pkg_resources_vendor\pyparsing.py

2 leaveWhitespace( self )

kind=method class=Forward objtype=function line:4179 at …\lib\site-packages\pkg_resources_vendor\pyparsing.py

3 streamline( self )

kind=method class=Forward objtype=function line:4183 at …\lib\site-packages\pkg_resources_vendor\pyparsing.py

4 validate( self, validateTrace=[] )

kind=method class=Forward objtype=function line:4190 at …\lib\site-packages\pkg_resources_vendor\pyparsing.py

🌿15 pkg_resources._vendor.pyparsing.Group

Group, pkg_resources._vendor.pyparsing.Group, module=pkg_resources._vendor.pyparsing, line:4278 at site-packages\pkg_resources_vendor\pyparsing.py

转换器返回匹配的记号作为一个列表-用于返回C{L{ZeroOrMore}}和C{L{OneOrMore}}表达式的记号。
    示例:
        ident = Word(alphas)
        num = Word(nums)
        term = ident | num
        func = ident + Optional(delimitedList(term))
        print(func.parseString("fn a,b,100"))  # -> ['fn', 'a', 'b', '100']
        func = ident + Group(Optional(delimitedList(term)))
        print(func.parseString("fn a,b,100"))  # -> ['fn', ['a', 'b', '100']]
method
1 postParse( self, instring, loc, tokenlist )

kind=method class=Group objtype=function line:4296 at …\lib\site-packages\pkg_resources_vendor\pyparsing.py

🌿16 pkg_resources._vendor.pyparsing.Literal

Literal, pkg_resources._vendor.pyparsing.Literal, module=pkg_resources._vendor.pyparsing, line:2398 at site-packages\pkg_resources_vendor\pyparsing.py

标记以精确匹配指定的字符串。
示例:
        Literal('blah').parseString('blah')  # -> ['blah']
        Literal('blah').parseString('blahfooblah')  # -> ['blah']
        Literal('blah').parseString('bla')  # -> Exception: Expected "blah"
    对于不区分大小写的匹配,使用L{CaselessLiteral}。
    对于关键字匹配(在匹配的字符串前后强制断字),使用L{keyword}或L{CaselessKeyword}。
method
1 parseImpl( self, instring, loc, doActions=True )

kind=method class=Literal objtype=function line:2431 at …\lib\site-packages\pkg_resources_vendor\pyparsing.py

🌿17 pkg_resources._vendor.pyparsing.ParseException

ParseException, pkg_resources._vendor.pyparsing.ParseException, module=pkg_resources._vendor.pyparsing, line:261 at site-packages\pkg_resources_vendor\pyparsing.py

当解析表达式与类不匹配时抛出异常;按名称支持的属性有:
    —lineno     —返回异常文本的行号
    —col        —返回异常文本的列号
    —line       —返回包含异常文本的行
    例:
        try:
            Word(nums).setName("integer").parseString("ABC")
        except ParseException as pe:
            print(pe)
            print("column: {}".format(pe.col))
        prints:
           期望的整数(at char 0), (line:1, col:1)
            column: 1

🌿18 pkg_resources._vendor.pyparsing.ParseResults

ParseResults, pkg_resources._vendor.pyparsing.ParseResults, module=pkg_resources._vendor.pyparsing, line:324 at site-packages\pkg_resources_vendor\pyparsing.py

结构化解析结果,提供访问解析数据的多种方式:
    -作为列表(C{len(results)})
    -通过列表索引(C{results[0], results[1]}等)
    -通过属性(C{results. 0}).<resultsName>} -参见L{ParserElement.setResultsName})
    示例:
        integer = Word(nums)
        date_str = (integer.setResultsName("year") + '/' + integer.setResultsName("month") + '/' + integer.setResultsName("day"))
        # 等效形式:
        # date_str = integer("year") + '/' + integer("month") + '/' + integer("day")

        # parseString返回一个ParseResults对象
        result = date_str.parseString("1999/12/31")

        def test(s, fn=repr):
            print("%s -> %s" % (s, fn(eval(s))))
        test("list(result)")
        test("result[0]")
        test("result['month']")
        test("result.day")
        test("'month' in result")
        test("'minutes' in result")
        test("result.dump()", str)
    打印:
        list(result) -> ['1999', '/', '12', '/', '31']
        result[0] -> '1999'
        result['month'] -> '12'
        result.day -> '31'
        'month' in result -> True
        'minutes' in result -> False
        result.dump() -> ['1999', '/', '12', '/', '31']
        - day: 31
        - month: 12
        - year: 1999
method
1 append( self, item )

kind=method class=ParseResults objtype=function line:605 at …\lib\site-packages\pkg_resources_vendor\pyparsing.py

将单个元素添加到ParseResults元素列表的末尾。
    例如:
        print(OneOrMore(Word(nums)).parseString("0 123 321")) # -> ['0', '123', '321']
    #使用解析动作计算解析的整数的总和,并将其添加到末尾
        def append_sum(tokens):
            tokens.append(sum(map(int, tokens)))
        print(OneOrMore(Word(nums)).addParseAction(append_sum).parseString("0 123 321")) # -> ['0', '123', '321', 444]
2 asDict( self )

kind=method class=ParseResults objtype=function line:720 at …\lib\site-packages\pkg_resources_vendor\pyparsing.py

将命名的解析结果作为嵌套字典返回。
示例:
            integer = Word(nums)
            date_str = integer("year") + '/' + integer("month") + '/' + integer("day")
            
            result = date_str.parseString('12/31/1999')
            print(type(result), repr(result)) # -> <class 'pyparsing.ParseResults'> (['12', '/', '31', '/', '1999'], {'day': [('1999', 4)], 'year': [('12', 0)], 'month': [('31', 2)]})
            
            result_dict = result.asDict()
            print(type(result_dict), repr(result_dict)) # -> <class 'dict'> {'day': '1999', 'year': '12', 'month': '31'}

            # 尽管ParseResults支持类似字典的访问,但有时您只需要一个字典
            import json
            print(json.dumps(result)) # -> Exception: TypeError: ... is not JSON serializable
            print(json.dumps(result.asDict())) # -> {"month": "31", "day": "1999", "year": "12"}
3 asList( self )

kind=method class=ParseResults objtype=function line:704 at …\lib\site-packages\pkg_resources_vendor\pyparsing.py

将解析结果作为匹配令牌的嵌套列表返回,所有这些令牌都转换为字符串。
示例:
            patt = OneOrMore(Word(alphas))
            result = patt.parseString("sldkj lsdkj sldkj")
            # 尽管结果以类似字符串的形式打印,但它实际上是一个pyparsing ParseResults
            print(type(result), result) # -> <class 'pyparsing.ParseResults'> ['sldkj', 'lsdkj', 'sldkj']
            
            # 使用asList()创建一个实际的列表
            result_list = result.asList()
            print(type(result_list), result_list) # -> <class 'list'> ['sldkj', 'lsdkj', 'sldkj']
4 asXML( self, doctag=None, namedItemsOnly=False, indent=“”, formatted=True )

kind=method class=ParseResults objtype=function line:766 at …\lib\site-packages\pkg_resources_vendor\pyparsing.py

(已弃用)以XML形式返回解析结果。标记是为定义了结果名称的令牌和列表创建的。
 glibc_version_string
5 clear( self )

kind=method class=ParseResults objtype=function line:637 at …\lib\site-packages\pkg_resources_vendor\pyparsing.py

清除所有元素和结果名称。
6 copy( self )

kind=method class=ParseResults objtype=function line:755 at …\lib\site-packages\pkg_resources_vendor\pyparsing.py

返回C{ParseResults}对象的新副本。
7 dump(self, indent=‘’, depth=0, full=True)

kind=method class=ParseResults objtype=function line:871 at …\lib\site-packages\pkg_resources_vendor\pyparsing.py

列出C{parserresults}的内容的诊断方法。
    接受可选的C{indent}参数,以便将此字符串嵌入到其他数据的嵌套显示中。
        示例:
            integer = Word(nums)
            date_str = integer("year") + '/' + integer("month") + '/' + integer("day")
            
            result = date_str.parseString('12/31/1999')
            print(result.dump())
        打印:
            ['12', '/', '31', '/', '1999']
            - day: 1999
            - month: 31
            - year: 12
8 extend( self, itemseq )

kind=method class=ParseResults objtype=function line:619 at …\lib\site-packages\pkg_resources_vendor\pyparsing.py

将元素序列添加到ParseResults元素列表的末尾。
示例:
            patt = OneOrMore(Word(alphas))
            #使用解析动作附加匹配字符串的反向,以生成一个palindrome
            def make_palindrome(tokens):
                tokens.extend(reversed([t[::-1] for t in tokens]))
                return ''.join(tokens)
            print(patt.addParseAction(make_palindrome).parseString("lskdj sdlkjf lksd")) # -> 'lskdjsdlkjflksddsklfjkldsjdksl'
9 get(self, key, defaultValue=None)

kind=method class=ParseResults objtype=function line:563 at …\lib\site-packages\pkg_resources_vendor\pyparsing.py

返回与给定键匹配的命名结果,或者如果没有这样的名称,则返回给定的C{defaultValue},如果没有指定C{defaultValue},则返回C{None}。
    类似于C{dict.get()}。
    示例:
            integer = Word(nums)
            date_str = integer("year") + '/' + integer("month") + '/' + integer("day")           
            result = date_str.parseString("1999/12/31")
            print(result.get("year")) # -> '1999'
            print(result.get("hour", "not specified")) # -> 'not specified'
            print(result.get("hour")) # -> None
10 getName(self)

kind=method class=ParseResults objtype=function line:834 at …\lib\site-packages\pkg_resources_vendor\pyparsing.py

返回此记号表达式的结果名称。当几个不同的表达式可能在特定位置匹配时非常有用。
    示例:
            integer = Word(nums)
            ssn_expr = Regex(r"\d\d\d-\d\d-\d\d\d\d")
            house_number_expr = Suppress('#') + Word(nums, alphanums)
            user_data = (Group(house_number_expr)("house_number") 
                        | Group(ssn_expr)("ssn")
                        | Group(integer)("age"))
            user_info = OneOrMore(user_data)
            
            result = user_info.parseString("22 111-22-3333 #221B")
            for item in result:
                print(item.getName(), ':', item[0])
        prints::
            age : 22
            ssn : 111-22-3333
            house_number : 221B
11 haskeys( self )

kind=method class=ParseResults objtype=function line:506 at …\lib\site-packages\pkg_resources_vendor\pyparsing.py

由于keys()返回一个迭代器,因此此方法有助于绕过查找任何已定义结果名称存在的代码。
12 insert( self, index, insStr )

kind=method class=ParseResults objtype=function line:585 at …\lib\site-packages\pkg_resources_vendor\pyparsing.py

在已解析令牌列表的位置索引处插入新元素。
    类似于C{list.insert()}。
    例如:
            print(OneOrMore(Word(nums)).parseString("0 123 321")) # -> ['0', '123', '321']
            # 使用解析动作将解析位置插入到解析结果的前面。
            def insert_locn(locn, tokens):
                tokens.insert(0, locn)
            print(OneOrMore(Word(nums)).addParseAction(insert_locn).parseString("0 123 321")) # -> [0, '0', '123', '321']
13 items( self )

kind=method class=ParseResults objtype=function line:502 at …\lib\site-packages\pkg_resources_vendor\pyparsing.py

14 keys( self )

kind=method class=ParseResults objtype=function line:494 at …\lib\site-packages\pkg_resources_vendor\pyparsing.py

15 pop( self, *args, **kwargs)

kind=method class=ParseResults objtype=function line:511 at …\lib\site-packages\pkg_resources_vendor\pyparsing.py

移除并返回指定索引处的项(default=C{last})。
    支持C{pop()}的C{list}和C{dict}语义。
    如果没有传递参数或传递整数参数,它将使用C{list}语义并从解析的令牌列表中弹出令牌。
    如果传递一个非整数参数(很可能是字符串),它将使用C{dict}语义,并从任何已定义的结果名称中弹出相应的值。
    支持第二个默认返回值参数,就像C{dict.pop()}一样。
    例如:
            def remove_first(tokens):
                tokens.pop(0)
            print(OneOrMore(Word(nums)).parseString("0 123 321")) # -> ['0', '123', '321']
            print(OneOrMore(Word(nums)).addParseAction(remove_first).parseString("0 123 321")) # -> ['123', '321']

            label = Word(alphas)
            patt = label("LABEL") + OneOrMore(Word(nums))
            print(patt.parseString("AAB 123 321").dump())

            # 在解析操作中使用pop()来删除命名的结果(注意,对应的值不是#从结果的列表形式中删除)
            def remove_LABEL(tokens):
                tokens.pop("LABEL")
                return tokens
            patt.addParseAction(remove_LABEL)
            print(patt.parseString("AAB 123 321").dump())
        prints::
            ['AAB', '123', '321']
            - LABEL: AAB

            ['AAB', '123', '321']
16 pprint(self, *args, **kwargs)

kind=method class=ParseResults objtype=function line:916 at …\lib\site-packages\pkg_resources_vendor\pyparsing.py

使用C{pprint}模块将解析后的结果打印为列表。
参数定义的附加位置参数或关键字参数C{pprint.pprint}方法。
[参见](http://docs.python.org/3/library/pprint.html#pprint.pprint)
示例:
            ident = Word(alphas, alphanums)
            num = Word(nums)
            func = Forward()
            term = ident | num | Group('(' + func + ')')
            func <<= ident + Group(Optional(delimitedList(term)))
            result = func.parseString("fna a,b,(fnb c,d,200),100")
            result.pprint(width=40)
        prints::
            ['fna',
             ['a',
              'b',
              ['(', 'fnb', ['c', 'd', '200'], ')'],
              '100']]
17 values( self )

kind=method class=ParseResults objtype=function line:498 at …\lib\site-packages\pkg_resources_vendor\pyparsing.py

🌿19 pkg_resources._vendor.pyparsing.QuotedString

QuotedString, pkg_resources._vendor.pyparsing.QuotedString, module=pkg_resources._vendor.pyparsing, line:2838 at site-packages\pkg_resources_vendor\pyparsing.py

标记,用于匹配用引号分隔的字符串。
    使用以下参数定义:
        —quoteChar      —定义引号分隔字符串的一个或多个字符的字符串
        —escChar        —用于转义引号的字符,通常为反斜杠(default=C{None})
        —escQuote       —用于转义嵌入引号字符串的特殊引号序列(例如SQL用于转义嵌入的“”)(default=C{None})
        —multiline      —指示引号是否可以跨多行的boolean (default=C{False})
        —unquoteResults —boolean表示匹配的文本是否应该不加引号(default=C{True})
        —endQuoteChar   —由一个或多个字符组成的字符串,定义以引号分隔的字符串的结尾(default=C{None} =>与quoteChar相同)
        —convertWhitespaceEscapes       —将转义的空白(C{\t'}, C{\n'}等)转换为实际的空白(default=C{True})
    示例:
        qs = QuotedString('"')
        print(qs.searchString('lsjdf "This is the quote" sldjf'))
        complex_qs = QuotedString('{{', endQuoteChar='}}')
        print(complex_qs.searchString('lsjdf {{This is the "quote"}} sldjf'))
        sql_qs = QuotedString('"', escQuote='""')
        print(sql_qs.searchString('lsjdf "This is the quote with ""embedded"" quotes" sldjf'))
    打印:
        [['This is the quote']]
        [['This is the "quote"']]
        [['This is the quote with "embedded" quotes']]
method
1 parseImpl( self, instring, loc, doActions=True )

kind=method class=QuotedString objtype=function line:2928 at …\lib\site-packages\pkg_resources_vendor\pyparsing.py

🌿20 pkg_resources._vendor.pyparsing.ZeroOrMore

ZeroOrMore, pkg_resources._vendor.pyparsing.ZeroOrMore, module=pkg_resources._vendor.pyparsing, line:3923 at site-packages\pkg_resources_vendor\pyparsing.py

给定表达式的零个或多个可选重复。
    参数:
        - expr  -必须匹配0次或多次的表达式
        - stopOn - (default=C{None}) -终止哨兵的表达式(只有当哨兵通常匹配重复表达式时才需要)
    示例:
        类似于L{OneOrMore}
method
1 parseImpl( self, instring, loc, doActions=True )

kind=method class=ZeroOrMore objtype=function line:3939 at …\lib\site-packages\pkg_resources_vendor\pyparsing.py

🌿21 pkg_resources.extern.packaging.specifiers.InvalidSpecifier

InvalidSpecifier, pkg_resources.extern.packaging.specifiers.InvalidSpecifier, module=pkg_resources.extern.packaging.specifiers, line:33 at site-packages\pkg_resources_vendor\packaging\specifiers.py

🌿21 pkg_resources.extern.packaging.specifiers.Specifier

Specifier, pkg_resources.extern.packaging.specifiers.Specifier, module=pkg_resources.extern.packaging.specifiers, line:317 at site-packages\pkg_resources_vendor\packaging\specifiers.py

🌿21 pkg_resources.extern.packaging.markers.InvalidMarker

InvalidMarker, pkg_resources.extern.packaging.markers.InvalidMarker, module=pkg_resources.extern.packaging.markers, line:36 at site-packages\pkg_resources_vendor\packaging\markers.py

发现无效标记,用户应参考PEP 508。

🌿22 pkg_resources.extern.packaging.markers.UndefinedComparison

UndefinedComparison, pkg_resources.extern.packaging.markers.UndefinedComparison, module=pkg_resources.extern.packaging.markers, line:42 at site-packages\pkg_resources_vendor\packaging\markers.py

试图对不支持该值的值进行无效操作。

🌿23 pkg_resources.extern.packaging.markers.UndefinedEnvironmentName

UndefinedEnvironmentName, pkg_resources.extern.packaging.markers.UndefinedEnvironmentName, module=pkg_resources.extern.packaging.markers, line:48 at site-packages\pkg_resources_vendor\packaging\markers.py

试图使用环境中不存在的名称。

🌿24 pkg_resources.extern.packaging.markers.Node

Node, pkg_resources.extern.packaging.markers.Node, module=pkg_resources.extern.packaging.markers, line:55 at site-packages\pkg_resources_vendor\packaging\markers.py

method
1 serialize(self) -> str:

kind=method class=Node objtype=function line:65 at …\lib\site-packages\pkg_resources_vendor\packaging\markers.py

🌿25 pkg_resources.extern.packaging.markers.Variable

Variable, pkg_resources.extern.packaging.markers.Variable, module=pkg_resources.extern.packaging.markers, line:69 at site-packages\pkg_resources_vendor\packaging\markers.py

method
1 serialize(self) -> str:

kind=method class=Variable objtype=function line:70 at …\lib\site-packages\pkg_resources_vendor\packaging\markers.py

🌿26 pkg_resources.extern.packaging.markers.Value

Value, pkg_resources.extern.packaging.markers.Value, module=pkg_resources.extern.packaging.markers, line:74 at site-packages\pkg_resources_vendor\packaging\markers.py

method
1 serialize(self) -> str:

kind=method class=Value objtype=function line:75 at …\lib\site-packages\pkg_resources_vendor\packaging\markers.py

🌿27 pkg_resources.extern.packaging.markers.Op

Op, pkg_resources.extern.packaging.markers.Op, module=pkg_resources.extern.packaging.markers, line:79 at site-packages\pkg_resources_vendor\packaging\markers.py

method
1 serialize(self) -> str:

kind=method class=Op objtype=function line:80 at …\lib\site-packages\pkg_resources_vendor\packaging\markers.py

🌿28 pkg_resources.extern.packaging.markers.Undefined

Undefined, pkg_resources.extern.packaging.markers.Undefined, module=pkg_resources.extern.packaging.markers, line:42 at site-packages\pkg_resources_vendor\packaging\markers.py

🌿29 pkg_resources.extern.packaging.markers.Marker

Marker, pkg_resources.extern.packaging.markers.Marker, module=pkg_resources.extern.packaging.markers, line:275 at site-packages\pkg_resources_vendor\packaging\markers.py

method
1 evaluate(self, environment: Optional[Dict[str, str]] = None) -> bool:

kind=method class=Marker objtype=function line:291 at …\lib\site-packages\pkg_resources_vendor\packaging\markers.py

评估一个标记。
    根据环境对给定标记进行计算后返回布尔值。
    environment是一个可选参数,用于覆盖全部或部分确定的环境。
    环境由当前Python进程确定。

🔵私有或局部

30 _coerce_parse_result <function _coerce_parse_result at 0x0000018AFF937828>
31 _format_marker <function _format_marker at 0x0000018AFF93B3A8>
32 _operators {‘in’: <function at 0x0000018AFF93B4C8>, ‘not in’: <function at 0x0000018AFF93B798>, ‘<’: <built-in fu…
33 _eval_op <function _eval_op at 0x0000018AFF93B948>
34 _undefined <pkg_resources.extern.packaging.markers.Undefined object at 0x0000018AFFA6B848>
35 _get_env <function _get_env at 0x0000018AFF93BB88>
36 _evaluate_markers <function _evaluate_markers at 0x0000018AFF93BE58>

🔵剩余

37 doc
38 loader <_frozen_importlib_external.SourceFileLoader object at 0x0000018AFF8F8448>
39 spec ModuleSpec(name=‘pkg_resources.extern.packaging.markers’, loader=<_frozen_importlib_external.SourceFileLoader object at 0x0000018AFF8F8448>, origin=‘…\lib\site-packages\pkg_resources\_vendor\packaging\markers.py’)
40 Any typing.Any
41 Callable typing.Callable
42 Dict typing.Dict
43 List typing.List
44 Optional typing.Optional
45 Tuple typing.Tuple
46 Union typing.Union
47 stringEnd stringEnd
48 stringStart stringStart
49 Operator typing.Callable[[str, str], bool]
50 VARIABLE {“implementation_version” | “platform_python_implementation” | “implementation_name” | “python_full_version” | “platform_release” | “platform_version” | “platform_machine” | “platform_system” | “python_version” | “sys_platform” | “os_name” | “os.name” | “sys.platform” | “platform.version” | “platform.machine” | “platform.python_implementation” | “python_implementation” | “extra”}
51 VERSION_CMP {“=" | "” | “>=” | “<=” | “!=” | “~=” | “>” | “<”}
52 MARKER_OP {“=" | "” | “>=” | “<=” | “!=” | “~=” | “>” | “<” | “not in” | “in”}
53 MARKER_VALUE {quoted string, starting with ’ ending with ’ | quoted string, starting with " ending with “}
54 BOOLOP {“and” | “or”}
55 MARKER_VAR {{“implementation_version” | “platform_python_implementation” | “implementation_name” | “python_full_version” | “platform_release” | “platform_version” | “platform_machine” | “platform_system” | “python_version” | “sys_platform” | “os_name” | “os.name” | “sys.platform” | “platform.version” | “platform.machine” | “platform.python_implementation” | “python_implementation” | “extra”} | {quoted string, starting with ’ ending with ’ | quoted string, starting with " ending with “}}
56 MARKER_ITEM Group:({{{“implementation_version” | “platform_python_implementation” | “implementation_name” | “python_full_version” | “platform_release” | “platform_version” | “platform_machine” | “platform_system” | “python_version” | “sys_platform” | “os_name” | “os.name” | “sys.platform” | “platform.version” | “platform.machine” | “platform.python_implementation” | “python_implementation” | “extra”} | {quoted string, starting with ’ ending with ’ | quoted string, starting with " ending with “}} {”=" | "” | “>=” | “<=” | “!=” | “~=” | “>” | “<” | “not in” | “in”} {{“implementation_version” | “platform_python_implementation” | “implementation_name” | “python_full_version” | “platform_release” | “platform_version” | “platform_machine” | “platform_system” | “python_version” | “sys_platform” | “os_name” | “os.name” | “sys.platform” | “platform.version” | “platform.machine” | “platform.python_implementation” | “python_implementation” | “extra”} | {quoted string, starting with ’ ending with ’ | quoted string, starting with " ending with “}}})
57 LPAREN Suppress:(”(”)
58 RPAREN Suppress:(“)”)
59 MARKER_EXPR Forward: …
60 MARKER_ATOM {Group:({{{“implementation_version” | “platform_python_implementation” | “implementation_name” | “python_full_version” | “platform_release” | “platform_version” | “platform_machine” | “platform_system” | “python_version” | “sys_platform” | “os_name” | “os.name” | “sys.platform” | “platform.version” | “platform.machine” | “platform.python_implementation” | “python_implementation” | “extra”} | {quoted string, starting with ’ ending with ’ | quoted string, starting with " ending with “}} {”=" | "" | “>=” | “<=” | “!=” | “~=” | “>” | “<” | “not in” | “in”} {{“implementation_version” | “platform_python_implementation” | “implementation_name” | “python_full_version” | “platform_release” | “platform_version” | “platform_machine” | “platform_system” | “python_version” | “sys_platform” | “os_name” | “os.name” | “sys.platform” | “platform.version” | “platform.machine” | “platform.python_implementation” | “python_implementation” | “extra”} | {quoted string, starting with ’ ending with ’ | quoted string, starting with " ending with “}}}) | Group:({Suppress:(”(“) Forward: … Suppress:(”)")})}
61 MARKER {{stringStart Forward: …} stringEnd}
62 _undefined <pkg_resources.extern.packaging.markers.Undefined object at 0x0000018AFFA6B848>

☘️【pkg_resources.extern.packaging.requirements】

requirements, fullname=pkg_resources.extern.packaging.requirements, file=pkg_resources_vendor\packaging\requirements.py

🔵统计

序号类别数量
4str4
8dict1
9module3
10class13
11function1
13residual38
14system8
15private1
16all60

🔵模块

🌿1 re

re, fullname=re, file=re.py

🌿2 string

string, fullname=string, file=string.py

🌿3 urllib

urllib, fullname=urllib, file=urllib_init_.py

🔵函数

🌿4 originalTextFor(expr, asString=True)

originalTextFor(expr, asString=True), module=pkg_resources._vendor.pyparsing, line:4681 at site-packages\pkg_resources_vendor\pyparsing.py

帮助器返回给定表达式的原始未标记文本。
    用于将HTML开始标记的已解析字段还原为原始标记文本本身,或将带有中间空白的单独标记还原为原始匹配输入文本。
    默认情况下,返回一个包含原始解析文本的字符串。
    如果可选的C{asString}参数作为C{False}传递,那么返回值是C{L{ParseResults}},其中包含最初匹配的所有结果名称,
    以及a包含来自输入字符串的原始匹配文本的单个令牌。
    因此,如果传递给C{L{originalTextFor}}的表达式包含已定义结果名称的表达式,如果您想保留这些结果名称值,
    则必须将C{asString}设置为C{False}。
    示例:
        src = "this is test <b> bold <i>text</i> </b> normal text "
        for tag in ("b","i"):
            opener,closer = makeHTMLTags(tag)
            patt = originalTextFor(opener + SkipTo(closer) + closer)
            print(patt.searchString(src)[0])
    打印:
        ['<b> bold <i>text</i> </b>']
        ['<i>text</i>']

🔵类

🌿5 pkg_resources._vendor.pyparsing.Combine

Combine, pkg_resources._vendor.pyparsing.Combine, module=pkg_resources._vendor.pyparsing, line:4234 at site-packages\pkg_resources_vendor\pyparsing.py

将所有匹配的令牌连接到单个字符串的转换器。
    默认情况下,匹配模式在输入字符串中也必须是连续的;这可以通过在构造函数中指定C{'nearby=False'}来禁用。
    示例:
        real = Word(nums) + '.' + Word(nums)
        print(real.parseString('3.1416')) # -> ['3', '.', '1416']
        # 也会错误地匹配以下内容
        print(real.parseString('3. 1416')) # -> ['3', '.', '1416']

        real = Combine(Word(nums) + '.' + Word(nums))
        print(real.parseString('3.1416')) # -> ['3.1416']
        # 当有内部空格时不匹配
        print(real.parseString('3. 1416')) # -> Exception: Expected W:(0123...)
method
1 ignore( self, other )

kind=method class=Combine objtype=function line:4261 at …\lib\site-packages\pkg_resources_vendor\pyparsing.py

2 postParse( self, instring, loc, tokenlist )

kind=method class=Combine objtype=function line:4268 at …\lib\site-packages\pkg_resources_vendor\pyparsing.py

🌿6 pkg_resources._vendor.pyparsing.Literal

Literal, pkg_resources._vendor.pyparsing.Literal, module=pkg_resources._vendor.pyparsing, line:2398 at site-packages\pkg_resources_vendor\pyparsing.py

🌿6 pkg_resources._vendor.pyparsing.Optional

Optional, pkg_resources._vendor.pyparsing.Optional, module=pkg_resources._vendor.pyparsing, line:3962 at site-packages\pkg_resources_vendor\pyparsing.py

给定表达式的可选匹配。
参数说明:
    —expr           —必须匹配0次或多次的表达式。
    —default(可选)    —如果找不到可选表达式,则返回default值。
    例如:
        # 美国邮政编码可以是5位zip,加上可选的4位限定符
        zip = Combine(Word(nums, exact=5) + Optional('-' + Word(nums, exact=4)))
        zip.runTests('''
            # traditional ZIP code
            12345
            # ZIP+4 form
            12101-0001
            # invalid ZIP
            98765-
            ''')
    打印:
        # traditional ZIP code
        12345
        ['12345']

        # ZIP+4 form
        12101-0001
        ['12101-0001']

        # invalid ZIP
        98765-
             ^
        FAIL: Expected end of text (at char 5), (line:1, col:6)
method
1 parseImpl( self, instring, loc, doActions=True )

kind=method class=Optional objtype=function line:4003 at …\lib\site-packages\pkg_resources_vendor\pyparsing.py

🌿7 pkg_resources._vendor.pyparsing.ParseException

ParseException, pkg_resources._vendor.pyparsing.ParseException, module=pkg_resources._vendor.pyparsing, line:261 at site-packages\pkg_resources_vendor\pyparsing.py

🌿7 pkg_resources._vendor.pyparsing.Regex

Regex, pkg_resources._vendor.pyparsing.Regex, module=pkg_resources._vendor.pyparsing, line:2765 at site-packages\pkg_resources_vendor\pyparsing.py

用于匹配与给定正则表达式匹配的字符串的标记。
    用字符串定义,指定正则表达式的形式可被内置Python re模块识别。
    如果给定的正则表达式包含命名组(使用 C{(?P<name>...)} 定义),这些将被保留为命名解析结果。
    例子:
        realnum = Regex(r"[+-]?\d+\.\d*")
        date = Regex(r'(?P<year>\d{4})-(?P<month>\d\d?)-(?P<day>\d\d?)')
        # [参见](http://stackoverflow.com/questions/267399/how-do-you-match-only-valid-roman-numerals-with-a-regular-expression)
        roman = Regex(r"M{0,4}(CM|CD|D?C{0,3})(XC|XL|L?X{0,3})(IX|IV|V?I{0,3})")
data

1 compiledREtype=<class ‘re.Pattern’> kind:data type:type class:<class ‘pkg_resources._vendor.pyparsing.Regex’>

method
2 parseImpl( self, instring, loc, doActions=True )

kind=method class=Regex objtype=function line:2813 at …\lib\site-packages\pkg_resources_vendor\pyparsing.py

🌿8 pkg_resources._vendor.pyparsing.Word

Word, pkg_resources._vendor.pyparsing.Word, module=pkg_resources._vendor.pyparsing, line:2606 at site-packages\pkg_resources_vendor\pyparsing.py

用于匹配由允许的字符集组成的单词的标记。
    定义为包含所有允许的初始字符的字符串,包含允许的主体字符的可选字符串(如果省略,默认为初始字符集),以及可选的最小、最大和/或精确长度。
    C{min}的默认值是1(最小值< 1无效);C{max}和C{exact}的默认值均为0,表示没有最大或确切的长度限制。
    可选的C{excludchars}参数可以列出可能在输入的C{bodyChars}字符串中找到的字符;例如,用于定义除一两个字符外的所有可打印的单词。
    L{srange}用于定义用于定义C{Word}表达式的自定义字符集字符串,使用正则表达式字符集的范围表示法。
    一个常见的错误是使用C{Word}来匹配特定的字面值字符串,如C{词(“地址”)}。
    记住,C{Word}使用string参数来定义I{sets}的可匹配字符。
    此表达式将匹配“Add”、“AAA”、“dare”或由字符“A”、“d”、“r”、“e”和“s”组成的任何其他单词。
    要匹配精确的字面值字符串,请使用L{literal}或L{Keyword}。
    pyparsing包括用于构建word的帮助字符串:
     - L{alphas}
     - L{nums}
     - L{alphanums}
     - L{hexnums}
     - L{alphas8bit}  (ASCII范围内的字母字符128-255 -重音,渐变,变音符等)
     - L{punc8bit} (ASCII范围内的非字母字符128-255 -货币,符号,上标,变音符号等)
     - L{printables} (任何非空白字符)
    示例:
        # 一个由数字组成的单词
        integer = Word(nums) # 相当于word("0123456789")或word (srange("0-9"))
        # 一个带有大写开头的单词,以及零个或多个小写
        capital_word = Word(alphas.upper(), alphas.lower())
        # 主机名是字母数字,带有alpha开头,'-'
        hostname = Word(alphas, alphanums+'-')
        # roman number(不是严格的解析器,接受无效的字符组合)
        roman = Word("IVXLCDM")
        # 任何非空白字符的字符串,','除外
        csv_value = Word(printables, excludeChars=",")
method
1 parseImpl( self, instring, loc, doActions=True )

kind=method class=Word objtype=function line:2707 at …\lib\site-packages\pkg_resources_vendor\pyparsing.py

🌿9 pkg_resources._vendor.pyparsing.ZeroOrMore

ZeroOrMore, pkg_resources._vendor.pyparsing.ZeroOrMore, module=pkg_resources._vendor.pyparsing, line:3923 at site-packages\pkg_resources_vendor\pyparsing.py

🌿9 pkg_resources.extern.packaging.markers.Marker

Marker, pkg_resources.extern.packaging.markers.Marker, module=pkg_resources.extern.packaging.markers, line:275 at site-packages\pkg_resources_vendor\packaging\markers.py

🌿9 pkg_resources.extern.packaging.specifiers.LegacySpecifier

LegacySpecifier, pkg_resources.extern.packaging.specifiers.LegacySpecifier, module=pkg_resources.extern.packaging.specifiers, line:245 at site-packages\pkg_resources_vendor\packaging\specifiers.py

🌿9 pkg_resources.extern.packaging.specifiers.Specifier

Specifier, pkg_resources.extern.packaging.specifiers.Specifier, module=pkg_resources.extern.packaging.specifiers, line:317 at site-packages\pkg_resources_vendor\packaging\specifiers.py

🌿9 pkg_resources.extern.packaging.specifiers.SpecifierSet

SpecifierSet, pkg_resources.extern.packaging.specifiers.SpecifierSet, module=pkg_resources.extern.packaging.specifiers, line:638 at site-packages\pkg_resources_vendor\packaging\specifiers.py

🌿9 pkg_resources.extern.packaging.requirements.InvalidRequirement

InvalidRequirement, pkg_resources.extern.packaging.requirements.InvalidRequirement, module=pkg_resources.extern.packaging.requirements, line:27 at site-packages\pkg_resources_vendor\packaging\requirements.py

发现无效需求,用户应参考PEP 508。

🌿10 pkg_resources.extern.packaging.requirements.Requirement

Requirement, pkg_resources.extern.packaging.requirements.Requirement, module=pkg_resources.extern.packaging.requirements, line:87 at site-packages\pkg_resources_vendor\packaging\requirements.py

解析需求。
    将给定的需求字符串解析为它的各个部分,例如名称、说明符、URL和其他部分。
    在格式不正确的需求字符串上引发InvalidRequirement。

🔵私有或局部

11 _VERSION_SPEC […]

🔵剩余

12 doc
13 loader <frozen_importlib_external.SourceFileLoader object at 0x0000018AFF798DC8>
14 spec ModuleSpec(name=‘pkg_resources.extern.packaging.requirements’, loader=<frozen_importlib_external.SourceFileLoader object at 0x0000018AFF798DC8>, origin='…\lib\site-packages\pkg_resources\vendor\packaging\requirements.py’)
15 List typing.List
16 TOptional typing.Optional
17 Set typing.Set
18 stringEnd stringEnd
19 stringStart stringStart
20 MARKER_EXPR {Empty Forward: … Empty}
21 ALPHANUM W:(abcd…)
22 LBRACKET Suppress:(“[”)
23 RBRACKET Suppress:(“]”)
24 LPAREN Suppress:(“(”)
25 RPAREN Suppress:(“)”)
26 COMMA Suppress:(“,”)
27 SEMICOLON Suppress:(“;”)
28 AT Suppress:(“@”)
29 PUNCTUATION W:(-
.)
30 IDENTIFIER_END {W:(abcd…) | {[W:(-
.)]… W:(abcd…)}}
31 IDENTIFIER Combine:({W:(abcd…) [{W:(abcd…) | {[W:(-
.)]… W:(abcd…)}}]…})
32 NAME Combine:({W:(abcd…) [{W:(abcd…) | {[W:(-.)]… W:(abcd…)}}]…})
33 EXTRA Combine:({W:(abcd…) [{W:(abcd…) | {[W:(-
.)]… W:(abcd…)}}]…})
34 URI Re:(‘[^ ]+’)
35 URL {Suppress:(“@”) Re:(‘[^ ]+’)}
36 EXTRAS_LIST {Combine:({W:(abcd…) [{W:(abcd…) | …}
37 EXTRAS {Suppress:(“[”) [{Combine:({W:(abcd…) [{W:(abcd…) | {[W:(-.)]… }
38 VERSION_PEP440 Re:(“\n (?P(~=||!=|<=|>=|<|>|=))\n …)
39 VERSION_LEGACY Re:('\n (?P(|!=|<=|>=|<|>))\n …)
40 VERSION_ONE {Re:("\n (?P(~=|
|!=|<=|>=|<|>|=))\n …)
41 VERSION_MANY Combine:({{Re:("\n (?P(~=|
|!=|<=|>=|<|>|=))\n …)
42 _VERSION_SPEC [{{Suppress:(“(”) Combine:({{Re:("\n (?P(~=|
|!=|<=|>=|<|>|===))\n …)
43 VERSION_SPEC {Empty [{{Suppress:(”(“) Combine:({{Re:(”\n …)
44 MARKER_SEPARATOR Suppress:(“;”)
45 MARKER {Suppress:(“;”) {Empty Forward: … Empty}}
46 VERSION_AND_MARKER {{Empty [{{Suppress:(“(”) Combine:({{Re:(“\n …)
47 URL_AND_MARKER {Suppress:(”@“) Re:(‘[^ ]+’) [{Suppress:(”;") {Empty Forward: … Empty}}]}
48 NAMED_REQUIREMENT {Combine:({W:(abcd…) [{W:(abcd…) | {[W:(-
.)]… W:(abcd…)}}]…}) }
49 REQUIREMENT {stringStart Combine:({W:(abcd…) [{W:(abcd…) | {[W:(-_.)]… W:(abcd…)}}]…})}

☘️【sys】

sys, fullname=sys, file=

☘️【os】

os, fullname=os, file=os.py

☘️【io】

io, fullname=io, file=io.py

☘️【time】

time, fullname=time, file=

☘️【re】

re, fullname=re, file=re.py

☘️【types】

types, fullname=types, file=types.py

☘️【zipfile】

zipfile, fullname=zipfile, file=zipfile.py

☘️【zipimport】

zipimport, fullname=zipimport, file=

zipimport提供了从Zip归档文件中导入Python模块的支持。

☘️【warnings】

warnings, fullname=warnings, file=warnings.py

☘️【stat】

stat, fullname=stat, file=stat.py

☘️【functools】

functools, fullname=functools, file=functools.py

☘️【pkgutil】

pkgutil, fullname=pkgutil, file=pkgutil.py

☘️【operator】

operator, fullname=operator, file=operator.py

☘️【platform】

platform, fullname=platform, file=platform.py

☘️【collections】

collections, fullname=collections, file=collections_init_.py

☘️【plistlib】

plistlib, fullname=plistlib, file=plistlib.py

☘️【email】

email, fullname=email, file=email_init_.py

☘️【errno】

errno, fullname=errno, file=

☘️【tempfile】

tempfile, fullname=tempfile, file=tempfile.py

☘️【textwrap】

textwrap, fullname=textwrap, file=textwrap.py

☘️【itertools】

itertools, fullname=itertools, file=

☘️【inspect】

inspect, fullname=inspect, file=inspect.py

☘️【ntpath】

ntpath, fullname=ntpath, file=ntpath.py

☘️【posixpath】

posixpath, fullname=posixpath, file=posixpath.py

☘️【importlib】

importlib, fullname=importlib, file=importlib_init_.py

☘️【_imp】

_imp, fullname=_imp, file=

☘️【importlib.machinery】

machinery, fullname=importlib.machinery, file=importlib\machinery.py

查找器、加载器、钩子等的机制。

☘️【string】

string, fullname=string, file=string.py

☘️【copy】

copy, fullname=copy, file=copy.py

☘️【sre_constants】

sre_constants, fullname=sre_constants, file=sre_constants.py

    sre内部支持模块

☘️【pprint】

pprint, fullname=pprint, file=pprint.py

☘️【traceback】

traceback, fullname=traceback, file=traceback.py

☘️【struct】

struct, fullname=struct, file=struct.py

☘️【contextlib】

contextlib, fullname=contextlib, file=contextlib.py

☘️【subprocess】

subprocess, fullname=subprocess, file=subprocess.py

☘️【logging】

logging, fullname=logging, file=logging_init_.py

☘️【sysconfig】

sysconfig, fullname=sysconfig, file=sysconfig.py

☘️【abc】

abc, fullname=abc, file=abc.py

☘️【urllib】

urllib, fullname=urllib, file=urllib_init_.py

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

AhcaoZhu

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

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

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

打赏作者

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

抵扣说明:

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

余额充值