本文由 大侠(AhcaoZhu)原创,转载请声明。
链接: https://blog.csdn.net/Ahcao2008
全文介绍系统内置 os 模块、函数、类及类的方法和属性。
它通过代码抓取并经AI智能翻译和人工校对。
是一部不可多得的权威字典类工具书。它是系列集的一部分。后续陆续发布、敬请关注。【原创:AhcaoZhu大侠】
linecache
◆functools
◆sys
◆os
◆tokenize
◆object
◆BaseException
◆Exception
◆OSError
◆tokenize.StopTokenizing
◆tokenize.TokenError
◆_frozen_importlib.BuiltinImporter
◆_io._IOBase
◆_io._TextIOBase
◆_io.TextIOWrapper
◆_thread.RLock
◆abc.ABC
◆os.PathLike
◆collections.abc.Container
◆collections.abc.Iterable
◆collections.abc.Sized
◆collections.abc.Collection
◆collections.abc.Mapping
◆collections.abc.MutableMapping
◆os._Environ
◆functools._lru_cache_wrapper
◆functools.partial
◆functools.partialmethod
◆itertools.chain
◆list
◆functools._HashedSeq
◆nt.DirEntry
◆os._wrap_close
◆tokenize.Untokenizer
◆tuple
◆functools.CacheInfo
◆nt.times_result
◆nt.uname_result
◆os.stat_result
◆os.statvfs_result
◆os.terminal_size
◆tokenize.TokenInfo
◆tokenize.TokenInfo
linecache, fullname=linecache, file=linecache.py
来自Python源文件的缓存行。
这是为了从导入的模块中读取行——因此,如果没有找到文件名,它将沿着模块搜索路径查找该文件名的文件。
序号 | 类别 | 数量 |
---|---|---|
4 | str | 5 |
6 | list | 1 |
8 | dict | 2 |
9 | module | 4 |
11 | function | 6 |
13 | residual | 2 |
14 | system | 9 |
16 | all | 20 |
1 cache {}
functools, fullname=functools, file=functools.py
sys, fullname=sys, file=
os, fullname=os, file=os.py
tokenize, fullname=tokenize, file=tokenize.py
Python程序的标记化帮助。
tokenize(readline)是一个生成器,它将字节流分解为Python令牌。
它根据PEP-0263对字节进行解码,以确定源文件编码。
它接受一个类似readline的方法,该方法被反复调用以获得下一行输入(或 b"" 表示EOF)。
它生成具有以下成员的5元组:
令牌类型(参见token.py)
令牌(字符串)
令牌的开始(行,列)索引(二元整型组)
令牌的结束(行,列)索引(二元整型组)
原始行(字符串)
它被设计成与Python标记器的工作完全匹配,除了它为注释生成 COMMENT 令牌并为所有操作符提供OP类型。
此外,所有令牌列表都以ENCODING令牌开始,它告诉您使用哪种编码来解码字节流。
getline(filename, lineno, module_globals=None), module=linecache, line:15 at linecache.py
clearcache(), module=linecache, line:30 at linecache.py
完全清除缓存。
getlines(filename, module_globals=None), module=linecache, line:37 at linecache.py
从缓存中获取Python源文件的行。
如果缓存尚未包含此文件的条目,则更新缓存。
checkcache(filename=None), module=linecache, line:53 at linecache.py
丢弃过期的缓存项。(这不是在每次调用时检查!)
updatecache(filename, module_globals=None), module=linecache, line:82 at linecache.py
更新缓存条目并返回其行列表。
如果出现错误,则打印一条消息,丢弃缓存条目,并返回一个空列表。
lazycache(filename, module_globals), module=linecache, line:147 at linecache.py
用模块全局变量为文件名种子缓存。
只有在调用getlines时才会向模块加载器请求源,而不是立即调用。
如果缓存中已经有条目,则不会更改它。
:return:如果在缓存中注册了惰性加载,则为True,否则为False。
要注册这样的加载,必须找到一个使用get_source方法的模块加载器,文件名必须是可缓存的文件名,并且文件名必须不是已经缓存的。
functools, fullname=functools, file=functools.py
sys, fullname=sys, file=
os, fullname=os, file=os.py
tokenize, fullname=tokenize, file=tokenize.py
序号 | 类别 | 数量 |
---|---|---|
1 | int | 61 |
4 | str | 41 |
6 | list | 1 |
7 | set | 2 |
8 | dict | 4 |
9 | module | 4 |
10 | class | 6 |
11 | function | 16 |
12 | builtin_function_or_method | 2 |
13 | residual | 5 |
14 | system | 11 |
15 | private | 7 |
16 | all | 142 |
1 ENDMARKER 0
2 NAME 1
3 NUMBER 2
4 STRING 3
5 NEWLINE 4
6 INDENT 5
7 DEDENT 6
8 LPAR 7
9 RPAR 8
10 LSQB 9
11 RSQB 10
12 COLON 11
13 COMMA 12
14 SEMI 13
15 PLUS 14
16 MINUS 15
17 STAR 16
18 SLASH 17
19 VBAR 18
20 AMPER 19
21 LESS 20
22 GREATER 21
23 EQUAL 22
24 DOT 23
25 PERCENT 24
26 LBRACE 25
27 RBRACE 26
28 EQEQUAL 27
29 NOTEQUAL 28
30 LESSEQUAL 29
31 GREATEREQUAL 30
32 TILDE 31
33 CIRCUMFLEX 32
34 LEFTSHIFT 33
35 RIGHTSHIFT 34
36 DOUBLESTAR 35
37 PLUSEQUAL 36
38 MINEQUAL 37
39 STAREQUAL 38
40 SLASHEQUAL 39
41 PERCENTEQUAL 40
42 AMPEREQUAL 41
43 VBAREQUAL 42
44 CIRCUMFLEXEQUAL 43
45 LEFTSHIFTEQUAL 44
46 RIGHTSHIFTEQUAL 45
47 DOUBLESTAREQUAL 46
48 DOUBLESLASH 47
49 DOUBLESLASHEQUAL 48
50 AT 49
51 ATEQUAL 50
52 RARROW 51
53 ELLIPSIS 52
54 OP 53
55 ERRORTOKEN 54
56 COMMENT 55
57 NL 56
58 ENCODING 57
59 N_TOKENS 58
60 NT_OFFSET 256
61 tabsize 8
62 Whitespace [ \f\t]*
63 Comment #[^\r\n]*
64 Ignore [ \f\t](\\r?\n[ \f\t])(#[^\r\n])?
65 Name \w+
66 Hexnumber 0xX+
67 Binnumber 0bB+
68 Octnumber 0oO+
69 Decnumber (?:0(?:?0)|1-9)
70 Intnumber (0xX+|0bB+|0oO+|(?:0(?:?0)|1-9))
71 Exponent [eE][-+]?0-9*
72 Pointfloat (0-9.(?:0-9)?|.0-9)([eE][-+]?0-9)?
73 Expfloat 0-9[eE][-+]?0-9
74 Floatnumber ((0-9.(?:0-9)?|.0-9)([eE][-+]?0-9)?|0-9[eE][-+]?..
75 Imagnumber (0-9[jJ]|((0-9.(?:0-9)?|.0-9)([eE][-+]?0-9)?|[0-…
76 Number ((0-9[jJ]|((0-9.(?:0-9)?|.0-9)([eE][-+]?0-9)?|[0…
77 StringPrefix (|rf|BR|b|br|Rb|FR|Fr|f|rF|rB|RB|F|fR|bR|R|fr|r|U|Br|Rf|rb|u|RF|B)
78 Single ['\]*(?:\.['\])’
79 Double ["\]*(?:\.["\])"
80 Single3 [‘\]*(??:\.|’(?!‘’))['\])‘’’
81 Double3 [“\]*(??:\.|”(?!“”))["\])“”"
82 Triple ((|rf|BR|b|br|Rb|FR|Fr|f|rF|rB|RB|F|fR|bR|R|fr|r|U|Br|Rf|rb|u|RF|B)‘’‘|(|rf|BR|b|br|Rb|FR|Fr|f|rF|rB|RB|F|fR|bR|R|fr|r|U…
83 String ((|rf|BR|b|br|Rb|FR|Fr|f|rF|rB|RB|F|fR|bR|R|fr|r|U|Br|Rf|rb|u|RF|B)’[\n’\]*(?:\.[\n’\])'|(|rf|BR|b|br|Rb|FR|Fr|f|…
84 Operator (**=?|>>=?|<<=?|!=|//=?|->|[±/%&@|^=<>]=?|~)
85 Bracket [][(){}]
86 Special (\r?\n|…|[:;.,@])
87 Funny ((**=?|>>=?|<<=?|!=|//=?|->|[±/%&@|^=<>]=?|~)|[][(){}]|(\r?\n|…|[:;.,@]))
88 PlainToken (((0-9[jJ]|((0-9.(?:0-9)?|.0-9)([eE][-+]?0-9)?|[…
89 Token [ \f\t](\\r?\n[ \f\t])(#[^\r\n])?(((0-9[jJ]|((0-9.(?:0-9)?|.[0-9](?:_?[…
90 ContStr ((|rf|BR|b|br|Rb|FR|Fr|f|rF|rB|RB|F|fR|bR|R|fr|r|U|Br|Rf|rb|u|RF|B)‘[\n’\]*(?:\.[\n’\])('|\\r?\n)|(|rf|BR|b|br|R…
91 PseudoExtras (\\r?\n|\Z|#[^\r\n]|((|rf|BR|b|br|Rb|FR|Fr|f|rF|rB|RB|F|fR|bR|R|fr|r|U|Br|Rf|rb|u|RF|B)‘’‘|(|rf|BR|b|br|Rb|FR|Fr|f|rF|…
92 PseudoToken [ \f\t]((\\r?\n|\Z|#[^\r\n]|((|rf|BR|b|br|Rb|FR|Fr|f|rF|rB|RB|F|fR|bR|R|fr|r|U|Br|Rf|rb|u|RF|B)’‘’|(|rf|BR|b|br|Rb|FR…
93 _prefix B
94 t B
95 u B’‘’
96 single_quoted {“BR’”, ‘rF"’, “rb’”, “'”, ‘u"’, “R’”, “r’”, “Fr’”, ‘R"’, ‘f"’, ‘bR"’, “fr’”, ‘BR"’, ‘br"’, ‘rf"’, ‘fR"’, “RB’”, ‘FR"’, …
97 triple_quoted {“r’‘’”, ‘r"“”’, “rf’‘’”, “Br’‘’”, “u’‘’”, ‘FR"“”’, ‘br"“”’, “Rf’‘’”, ‘bR"“”’, ‘U"“”’, ‘fR"“”’, ‘u"“”’, “fR’‘’”, ‘Fr"“”’…
98 tok_name {0: ‘ENDMARKER’, 1: ‘NAME’, 2: ‘NUMBER’, 3: ‘STRING’, 4: ‘NEWLINE’, 5: ‘INDENT’, 6: ‘DEDENT’, 7: ‘LPAR’, 8: ‘RPAR’, 9: ‘…
99 EXACT_TOKEN_TYPES {’(‘: 7, ‘)’: 8, ‘[’: 9, ‘]’: 10, ‘:’: 11, ‘,’: 12, ‘;’: 13, ‘+’: 14, ‘-’: 15, ‘‘: 16, ‘/’: 17, ‘|’: 18, ‘&’: 19, ‘<’: …
100 endpats {"’": "['\\]*(?:\\.['\\])‘“, '”’: '["\\]*(?:\\.["\\])*"’, "’‘’": "[‘\\]*(??:\\.|’(?!‘’))['\…
collections, fullname=collections, file=collections_init_.py
这个模块实现了专门的容器数据类型,提供了Python通用内置容器dict、list、set和tuple的替代方案。
itertools, fullname=itertools, file=
用于创建和使用迭代器的功能工具。
re, fullname=re, file=re.py
sys, fullname=sys, file=
ISTERMINAL(x), module=token, line:83 at token.py
ISNONTERMINAL(x), module=token, line:86 at token.py
ISEOF(x), module=token, line:89 at token.py
group(*choices), module=tokenize, line:107 at tokenize.py
any(*choices), module=tokenize, line:108 at tokenize.py
maybe(*choices), module=tokenize, line:109 at tokenize.py
_all_string_prefixes(), module=tokenize, line:132 at tokenize.py
_compile(expr), module=tokenize, line:147 at tokenize.py
untokenize(iterable), module=tokenize, line:312 at tokenize.py
将令牌转换回Python源代码。
它返回一个bytes对象,使用ENCODING令牌进行编码,这是通过tokenize输出的第一个令牌序列。
iterable返回的每个元素必须是一个至少包含两个元素的令牌序列,一个令牌号和一个令牌值。
如果只传递两个令牌,则结果输出很差。
完整输入的往返不变量:
未标记化的源将与输入源完全匹配
有限输入的往返不变量:
# 输出字节将标记化回输入
# Output bytes will tokenize back to the input
t1 = [tok[:2] for tok in tokenize(f.readline)]
newcode = untokenize(t1)
readline = BytesIO(newcode).readline
t2 = [tok[:2] for tok in tokenize(readline)]
assert t1 == t2
_get_normal_name(orig_enc), module=tokenize, line:339 at tokenize.py
在tokenizer.c中模拟得到正常名称。
detect_encoding(readline), module=tokenize, line:350 at tokenize.py
detect_encoding()函数用于检测应该用于解码Python源文件的编码。
它需要一个参数readline,方法与tokenize()生成器相同。
它将最多调用readline两次,并返回所使用的编码(作为字符串)和它所读入的任何行(以字节形式保留)的列表。
它根据存在utf-8 bom 或 pep-0263 中指定的编码 cookie来检测编码。
如果bom和cookie都存在,但不一致,将引发SyntaxError。
如果编码cookie是一个无效的字符集,则引发SyntaxError。
注意,如果找到utf-8 bom,则返回'utf-8-sig'。如果没有指定编码,则将返回默认的'utf-8'。
open(filename), module=tokenize, line:443 at tokenize.py
使用detect_encoding()检测到的编码以只读模式打开文件。
tokenize(readline), module=tokenize, line:459 at tokenize.py
tokenize()生成器需要一个参数readline,它必须是一个可调用对象,提供与内置文件对象的readline()方法相同的接口。
对函数的每次调用都应返回一行以字节表示的输入。
或者,readline可以是一个以StopIteration结束的可调用函数:
readline = open(myfile, 'rb').__next__ # 备用读行示例
生成器生成具有以下成员的5元组:
token类型;
令牌字符串;
整数组成的二元组(srow, scol),指定源文件中令牌开始的行和列;
整数组成的二元组(erow, ecol),指定令牌在源文件中结束的行和列;
以及找到标记的行。
传递的线是逻辑线;继续行也包括在内。
第一个令牌序列将始终是一个ENCODING令牌,它告诉您使用哪种编码来解码字节流。
_tokenize(readline, encoding), module=tokenize, line:487 at tokenize.py
generate_tokens(readline), module=tokenize, line:672 at tokenize.py
main(), module=tokenize, line:675 at tokenize.py
TextIOWrapper, _io.TextIOWrapper, module=_io, line:0 at
字符和行基于层在BufferedIOBase对象,缓冲区。
chain, itertools.chain, module=itertools, line:0 at
chain(*iterables) --> chain object
返回一个链对象.__next__()方法返回第一个可迭代对象中的元素,直到该可迭代对象耗尽,
然后返回下一个可迭代对象中的元素,直到所有可迭代对象耗尽。
TokenInfo, tokenize.TokenInfo, module=tokenize, line:94 at tokenize.py
1 exact_type=
kind:property type:property class:
TokenError, tokenize.TokenError, module=tokenize, line:212 at tokenize.py
StopTokenizing, tokenize.StopTokenizing, module=tokenize, line:214 at tokenize.py
Untokenizer, tokenize.Untokenizer, module=tokenize, line:217 at tokenize.py
1 add_whitespace(self, start)
kind=method class=Untokenizer objtype=function line:225 at …\lib\tokenize.py
2 compat(self, token, iterable)
kind=method class=Untokenizer objtype=function line:275 at …\lib\tokenize.py
3 untokenize(self, iterable)
kind=method class=Untokenizer objtype=function line:238 at …\lib\tokenize.py
127 _builtin_open
128 lookup
129 _builtin_open
130 _itertools
131 _all_string_prefixes
132 _compile
133 _prefix B
134 _get_normal_name
135 _tokenize
136 loader <_frozen_importlib_external.SourceFileLoader object at 0x00000000024998C8>
137 spec ModuleSpec(name=‘tokenize’, loader=<_frozen_importlib_external.SourceFileLoader object at 0x00000000024998C8>, origin=‘…\lib\tokenize.py’)
138 BOM_UTF8 b’\xef\xbb\xbf’
139 cookie_re re.compile(’ ^ [ \t\f]#.?coding[:=][ \t]([-\w.]+)‘, re.ASCII)
140 blank_re re.compile(b’^ [ \t\f](?:[#\r\n]|$)', re.ASCII)