本文由 大侠(AhcaoZhu)原创,转载请声明。
链接: https://blog.csdn.net/Ahcao2008
全文介绍系统内置 io 模块、函数、类及类的方法和属性。
它通过代码抓取并经AI智能翻译和人工校对。
是一部不可多得的权威字典类工具书。它是系列集的一部分。后续陆续发布、敬请关注。【原创:AhcaoZhu大侠】
io
_io
◆abc
1
module
2module
◆object
◆BaseException
◆Exception
◆OSError
◆BlockingIOError
io.UnsupportedOperation
◆ValueError
◆OSError
◆_frozen_importlib.BuiltinImporter
◆_io.IncrementalNewlineDecoder
◆_io._IOBase*
◆_io._BufferedIOBase*
◆_io.BufferedRWPair*
◆_io.BufferedRandom*
◆_io.BufferedReader*
◆_io.BufferedWriter*
◆_io.BytesIO*
io.BufferedIOBase*
◆_io._RawIOBase*
◆_io.FileIO*
◆_io._WindowsConsoleIO
io.RawIOBase*
◆_io._TextIOBase*
◆_io.StringIO*
◆_io.TextIOWrapper*
io.TextIOBase*
io.IOBase*
◆_io._BufferedIOBase*
◆_io._RawIOBase*
◆_io._TextIOBase*
◆abc.ABC
◆classmethod
◆abc.abstractclassmethod
◆property
◆abc.abstractproperty
◆staticmethod
◆abc.abstractstaticmethod
◆type
◆abc.ABCMeta
序号 | 类别 | 数量 |
---|---|---|
1 | int | 1 |
4 | str | 3 |
10 | class | 17 |
12 | builtin_function_or_method | 1 |
13 | residual | 1 |
14 | system | 5 |
15 | private | 5 |
16 | all | 23 |
io, fullname=io, file=
io模块提供了用于流处理的Python接口。内置的open函数定义在这个模块中。
I/O层次结构的顶端是抽象基类IOBase。它定义流的基本接口。但是请注意,在读取和写入流之间没有分离;如果实现不支持给定的操作,则允许引发OSError。
扩展IOBase的是RawIOBase,它只处理对流的原始字节的读写。FileIO子类化RawIOBase,为操作系统文件提供接口。
BufferedIOBase处理原始字节流上的缓冲(RawIOBase)。它的子类BufferedWriter、BufferedReader和BufferedRWPair缓冲流分别是可读、可写和两者兼备的。
BufferedRandom 为随机访问流提供了一个缓冲接口。BytesIO是一个简单的内存字节流。
另一个IOBase子类TextIOBase处理流到文本的编码和解码。TextIOWrapper扩展了它,是一个缓冲的文本接口,用于缓冲原始流(' BufferedIOBase ')。
最后,StringIO是一个用于文本的内存流。参数名不是规范的一部分,只有open()的参数被用作关键字参数。
数据:
DEFAULT BUFFER SIZE
一个int型,包含模块的缓冲I/O类使用的默认缓冲区大小。Open()尽可能使用文件的blksize(由os.stat获取)。
1 DEFAULT_BUFFER_SIZE 8192
UnsupportedOperation, io.UnsupportedOperation, module=io, line:-1 at io.py
BlockingIOError, BlockingIOError, module=builtins
I/O操作将阻塞。
I/O operation would block.
_IOBase, _io._IOBase, module=_io
所有I/O类的抽象基类,作用于字节流。没有公共构造函数。
这个类提供了许多方法的伪实现,派生类可以选择性地覆盖这些方法;默认实现表示一个不能读、写或查找的文件。
尽管IOBase没有声明read、readinto或write,因为它们的签名会有所不同,但实现和客户端应该将这些方法视为接口的一部分。
此外,当调用不支持的操作时,实现可能引发UnsupportedOperation。
用于从文件中读取或写入二进制数据的基本类型是字节。其他类似字节的对象也被接受为方法参数。
在某些情况下(比如readinto),需要一个可写对象。文本I/O类使用str数据。
注意,在已关闭的流上调用任何方法(除了对close()的额外调用,这些调用将被忽略)都应该引发ValueError。
IOBase(及其子类)支持迭代器协议,这意味着IOBase对象可以迭代,生成流中的行。
IOBase还支持 :keyword:`with` 语句。在本例中,在with语句的套件完成后,fp将被关闭:
with open('spam.txt', 'r') as fp:
fp.write('Spam and eggs!')
1 closed=
kind:data type:getset_descriptor class:
2 close(self, *args, **kwargs)
kind=method class=_IOBase objtype=method_descriptor line:212 at …\python_stubs-1026899380_io.py
刷新并关闭IO对象。
如果文件已经关闭,此方法将不起作用。
3 fileno(self, *args, **kwargs)
kind=method class=_IOBase objtype=method_descriptor line:220 at …\python_stubs-1026899380_io.py
返回底层文件描述符(如果存在)。
如果IO对象没有使用文件描述符,则会引发OSError。
4 flush(self, *args, **kwargs)
kind=method class=_IOBase objtype=method_descriptor line:228 at …\python_stubs-1026899380_io.py
刷新写缓冲区(如果适用)。
对于只读和非块流non-blocking,不实现此功能。
5 isatty(self, *args, **kwargs)
kind=method class=_IOBase objtype=method_descriptor line:236 at …\python_stubs-1026899380_io.py
返回这是否是一个“交互式”流。
如果不能确定,则返回False。
6 readable(self, *args, **kwargs)
kind=method class=_IOBase objtype=method_descriptor line:244 at …\python_stubs-1026899380_io.py
返回对象是否已打开以供读取。
如果为False, read()将引发OSError。
7 readline(self, *args, **kwargs)
kind=method class=_IOBase objtype=method_descriptor line:252 at …\python_stubs-1026899380_io.py
从流中读取并返回一行。
如果指定了size,将读取最多size字节。
对于二进制文件,行结束符总是b'\n';对于文本文件,要打开的newlines参数可用于选择识别的行结束符。
8 readlines(self, *args, **kwargs)
kind=method class=_IOBase objtype=method_descriptor line:264 at …\python_stubs-1026899380_io.py
返回流中的行列表。
可以指定hint来控制读取的行数: 如果到目前为止所有行的总大小(以字节/字符为单位)超过了 hint,则不再读取更多的行。
9 seek(self, *args, **kwargs)
kind=method class=_IOBase objtype=method_descriptor line:274 at …\python_stubs-1026899380_io.py
改变流位置。
将流的位置更改为给定的字节偏移量。偏移量是相对于由其指示的位置来解释的。
where的值为:
* 0 -流的开始(默认值);偏移量应为零或正
* 1 -电流流位置;偏移量可以是负的
* 2 -流的结束;offset通常为负
返回新的绝对位置。
10 seekable(self, *args, **kwargs)
kind=method class=_IOBase objtype=method_descriptor line:290 at …\python_stubs-1026899380_io.py
返回对象是否支持随机访问。
如果为False, seek(), tell()和truncate()将引发OSError。
此方法可能需要执行一个seek()测试。
11 tell(self, *args, **kwargs)
kind=method class=_IOBase objtype=method_descriptor line:299 at …\python_stubs-1026899380_io.py
返回当前流位置。
12 truncate(self, *args, **kwargs)
kind=method class=_IOBase objtype=method_descriptor line:303 at …\python_stubs-1026899380_io.py
截断文件大小字节。
文件指针保持不变。Size默认为tell()报告的当前IO位置。返回新的大小。
13 writable(self, *args, **kwargs)
kind=method class=_IOBase objtype=method_descriptor line:312 at …\python_stubs-1026899380_io.py
返回对象是否已打开以供写入。如果为False, write()将引发OSError。
14 writelines(self, *args, **kwargs)
kind=method class=_IOBase objtype=method_descriptor line:320 at …\python_stubs-1026899380_io.py
写一个要流的行列表。没有添加行分隔符,因此通常提供的每一行末尾都有行分隔符。
_RawIOBase, _io._RawIOBase, module=_io
原始二进制I/O的基类。
1 read(self, *args, **kwargs)
kind=method class=_RawIOBase objtype=method_descriptor line:930 at …\python_stubs-1026899380_io.py
2 readall(self, *args, **kwargs)
kind=method class=_RawIOBase objtype=method_descriptor line:933 at …\python_stubs-1026899380_io.py
读取直到EOF,使用多次Read()调用。
3 readinto(self, *args, **kwargs)
kind=method class=_RawIOBase objtype=method_descriptor line:937 at …\python_stubs-1026899380_io.py
4 write(self, *args, **kwargs)
kind=method class=_RawIOBase objtype=method_descriptor line:940 at …\python_stubs-1026899380_io.py
_BufferedIOBase, _io._BufferedIOBase, module=_io
缓冲IO对象的基类。
与RawIOBase的主要区别是read()方法支持省略size参数,并且没有遵循readinto()的默认实现。
此外,如果底层原始流处于non-blocking模式且未准备就绪,read()、readinto()和write()可能会引发BlockingIOError;
不像它们的原始副本,它们永远不会返回None。典型的实现不应该继承RawIOBase实现,而应该封装一个。
1 detach(self, *args, **kwargs)
kind=method class=_BufferedIOBase objtype=method_descriptor line:388 at …\python_stubs-1026899380_io.py
断开该缓冲区与其底层原始流的连接并返回它。分离原始流后,缓冲区处于不可用状态。
2 read(self, *args, **kwargs)
kind=method class=_BufferedIOBase objtype=method_descriptor line:397 at …\python_stubs-1026899380_io.py
读取和返回最多n个字节。
如果省略参数,None或负,读取并返回所有数据,直到EOF。
如果参数为正数,并且底层原始流不是“交互式的”,则可能发出多个原始读取以满足字节计数(除非先到达EOF)。
但是对于交互式原始流(以及套接字socket和管道pipe),最多将发出一个原始读取,并且一个简短的结果并不意味着EOF即将到来。在EOF上返回一个空的字节对象。
如果底层原始流以non-blocking模式打开,并且当前没有可用数据,则返回None。
3 read1(self, *args, **kwargs)
kind=method class=_BufferedIOBase objtype=method_descriptor line:418 at …\python_stubs-1026899380_io.py
读取并返回最多n个字节,最多一次Read()调用到底层原始流。一个简短的结果并不意味着遇到了EOF。
在EOF处返回一个空字节对象。
4 readinto(self, *args, **kwargs)
kind=method class=_BufferedIOBase objtype=method_descriptor line:428 at …\python_stubs-1026899380_io.py
5 readinto1(self, *args, **kwargs)
kind=method class=_BufferedIOBase objtype=method_descriptor line:431 at …\python_stubs-1026899380_io.py
6 write(self, *args, **kwargs)
kind=method class=_BufferedIOBase objtype=method_descriptor line:434 at …\python_stubs-1026899380_io.py
将给定的缓冲区写入IO流。
返回写入的字节数,始终是b的长度(以字节为单位)。
如果缓冲区已满且底层原始流目前不能接受更多数据,则引发BlockingIOError。
_TextIOBase, _io._TextIOBase, module=_io
文本I/O的基类。
这个类提供了一个基于字符和行的接口以实现流式I/O。
没有readinto方法,因为Python的字符串是不可变的。没有公共构造函数。
1 encoding=
kind:data type:getset_descriptor class:
2 errors=kind:data type:getset_descriptor class:
3 newlines=kind:data type:getset_descriptor class:
4 detach(self, *args, **kwargs)
kind=method class=_TextIOBase objtype=method_descriptor line:1136 at …\python_stubs-1026899380_io.py
从TextIOBase中分离底层缓冲区并返回它。
在分离底层缓冲区之后,TextIO处于不可用状态。
5 read(self, *args, **kwargs)
kind=method class=_TextIOBase objtype=method_descriptor line:1145 at …\python_stubs-1026899380_io.py
从流中最多读取n个字符。从底层缓冲区读取,直到有n个字符,或者按EOF。如果n为负或省略,则一直读到EOF。
6 readline(self, *args, **kwargs)
kind=method class=_TextIOBase objtype=method_descriptor line:1154 at …\python_stubs-1026899380_io.py
读到换行符或EOF。如果立即命中EOF,则返回空字符串。
7 write(self, *args, **kwargs)
kind=method class=_TextIOBase objtype=method_descriptor line:1162 at …\python_stubs-1026899380_io.py
将字符串写入流。返回写入的字符数(总是等于字符串的长度)。
FileIO, _io.FileIO, module=_io
打开一个文件
模式可以是'r'(默认),'w', 'x'或'a'用于读取,写入,独占创建或追加。
如果打开写入或追加时文件不存在,则会创建该文件;当打开写入时,它将被截断。
如果在打开进行创建时已经存在,则将引发FileExistsError。
打开一个文件进行创建意味着写入,所以这种模式的行为类似于'w'。在模式中添加一个“+”以允许同时读写。
自定义打开器可以通过传递一个可调用对象作为*opener来使用。然后通过使用(*name*, *flags*)调用opener来获得文件对象的底层文件描述符。
*opener*必须返回一个打开的文件描述符(传入os.open 作为 *opener* 的结果类似于传递None)。
1 closed=
kind:data type:getset_descriptor class:
2 closefd=kind:data type:getset_descriptor class:
3 mode=kind:data type:getset_descriptor class:
4 close(self)
kind=method class=FileIO objtype=method_descriptor line:963 at …\python_stubs-1026899380_io.py
关闭文件。关闭的文件不能用于进一步的I/O操作。Close()可以被调用多次而不会出现错误。
5 fileno(self, *args, **kwargs)
kind=method class=FileIO objtype=method_descriptor line:972 at …\python_stubs-1026899380_io.py
返回底层文件描述符(一个整数)。
6 isatty(self, *args, **kwargs)
kind=method class=FileIO objtype=method_descriptor line:976 at …\python_stubs-1026899380_io.py
如果文件连接到TTY设备,则为True。
7 read(self, size=-1)
kind=method class=FileIO objtype=method_descriptor line:980 at …\python_stubs-1026899380_io.py
读取最多大小字节,作为字节返回。
只进行一次系统调用,因此返回的数据可能比请求的要少。在non-blocking模式下,如果没有可用数据,则返回None。在EOF处返回一个空字节对象。
8 readable(self, *args, **kwargs)
kind=method class=FileIO objtype=method_descriptor line:990 at …\python_stubs-1026899380_io.py
如果以读模式打开文件,则为True。
9 readall(self, *args, **kwargs)
kind=method class=FileIO objtype=method_descriptor line:994 at …\python_stubs-1026899380_io.py
从文件中读取所有数据,以字节形式返回。
在非块模式non-blocking下,返回立即可用的数据,如果没有可用数据则返回None。在EOF处返回一个空字节对象。
10 readinto(self)
kind=method class=FileIO objtype=method_descriptor line:1003 at …\python_stubs-1026899380_io.py
与RawIOBase.readinto()相同。
11 seek(self, *args, **kwargs)
kind=method class=FileIO objtype=method_descriptor line:1007 at …\python_stubs-1026899380_io.py
移动到新文件位置并返回文件位置。
参数offset是一个字节计数。可选参数,默认为SEEK_SET或0(偏移量从文件开始,偏移量应为 >= 0);
其他值是SEEK_CUR或1(相对于当前位置移动,正或负),以及SEEK_END或2(相对于文件末尾移动,通常为负,尽管许多平台允许搜索超出文件末尾)。
注意,不是所有的文件对象都是可查找的。
12 seekable(self, *args, **kwargs)
kind=method class=FileIO objtype=method_descriptor line:1021 at …\python_stubs-1026899380_io.py
如果文件支持随机访问,则为True。
13 tell(self, *args, **kwargs)
kind=method class=FileIO objtype=method_descriptor line:1025 at …\python_stubs-1026899380_io.py
当前文件位置。对于不可查找的文件可以引发OSError。
14 truncate(self, *args, **kwargs)
kind=method class=FileIO objtype=method_descriptor line:1033 at …\python_stubs-1026899380_io.py
将文件截断为最大大小字节,并返回截断后的大小。Size默认为当前文件位置,由tell()返回。当前文件位置被更改为大小的值。
15 writable(self, *args, **kwargs)
kind=method class=FileIO objtype=method_descriptor line:1042 at …\python_stubs-1026899380_io.py
如果以写模式打开文件,则为True。
16 write(self, *args, **kwargs)
kind=method class=FileIO objtype=method_descriptor line:1046 at …\python_stubs-1026899380_io.py
将缓冲区b写入文件,返回写入的字节数。
只做一个系统调用,所以不是所有的数据都可能被写入。返回实际写入的字节数。在非阻塞模式下,如果写操作将阻塞,则返回None。
BytesIO, _io.BytesIO, module=_io
使用内存字节缓冲区的缓冲I/O实现。
1 closed=
kind:data type:getset_descriptor class:
2 close(self, *args, **kwargs)
kind=method class=BytesIO objtype=method_descriptor line:772 at …\python_stubs-1026899380_io.py
禁用所有I/O操作。
3 flush(self, *args, **kwargs)
kind=method class=BytesIO objtype=method_descriptor line:776 at …\python_stubs-1026899380_io.py
什么也不做。
4 getbuffer(self, *args, **kwargs)
kind=method class=BytesIO objtype=method_descriptor line:780 at …\python_stubs-1026899380_io.py
获取BytesIO对象内容的读写视图。
5 getvalue(self, *args, **kwargs)
kind=method class=BytesIO objtype=method_descriptor line:784 at …\python_stubs-1026899380_io.py
检索BytesIO对象的全部内容。
6 isatty(self, *args, **kwargs)
kind=method class=BytesIO objtype=method_descriptor line:788 at …\python_stubs-1026899380_io.py
总是返回False。BytesIO对象没有连接到类似tty的设备。
7 read(self, *args, **kwargs)
kind=method class=BytesIO objtype=method_descriptor line:796 at …\python_stubs-1026899380_io.py
读取最多大小字节,作为bytes对象返回。
如果size参数为负,则读取直到到达EOF。在EOF处返回一个空字节对象。
8 read1(self, *args, **kwargs)
kind=method class=BytesIO objtype=method_descriptor line:805 at …\python_stubs-1026899380_io.py
读取最多大小字节,作为bytes对象返回。
如果size参数为负或省略,则读取直到到达EOF。在EOF处返回一个空字节对象。
9 readable(self, *args, **kwargs)
kind=method class=BytesIO objtype=method_descriptor line:814 at …\python_stubs-1026899380_io.py
如果IO对象可以读取,则返回True。
10 readinto(self, *args, **kwargs)
kind=method class=BytesIO objtype=method_descriptor line:818 at …\python_stubs-1026899380_io.py
将字节读入缓冲区。
返回读取的字节数(EOF为0),如果对象设置为块 block 且没有数据要读取,则返回None。
11 readline(self, *args, **kwargs)
kind=method class=BytesIO objtype=method_descriptor line:827 at …\python_stubs-1026899380_io.py
文件中的下一行,作为一个字节对象。
保留换行符。非负的size参数限制要返回的最大字节数(这时可能返回不完整的行)。在EOF处返回一个空字节对象。
12 readlines(self, *args, **kwargs)
kind=method class=BytesIO objtype=method_descriptor line:837 at …\python_stubs-1026899380_io.py
bytes对象列表,从文件每一行开始。
反复调用readline()并返回已读取的行列表。
如果给出可选的size参数,则是返回行的总字节数的近似边界。
13 seek(self, *args, **kwargs)
kind=method class=BytesIO objtype=method_descriptor line:847 at …\python_stubs-1026899380_io.py
改变流位置。
查找相对于由何处指示的位置的字节偏移量:
0 流的开始(默认值)。Pos应该是 >= 0;
1 当前位置- pos可能为负;
2 流的结尾- pos通常为负。
返回新的绝对位置。
14 seekable(self, *args, **kwargs)
kind=method class=BytesIO objtype=method_descriptor line:859 at …\python_stubs-1026899380_io.py
如果IO对象可以被查找,则返回True。
15 tell(self, *args, **kwargs)
kind=method class=BytesIO objtype=method_descriptor line:863 at …\python_stubs-1026899380_io.py
当前文件位置,一个整数。
16 truncate(self, *args, **kwargs)
kind=method class=BytesIO objtype=method_descriptor line:867 at …\python_stubs-1026899380_io.py
将文件截断为最多字节大小。Size默认为当前文件位置,由tell()返回。当前文件位置不变。返回新的大小。
17 writable(self, *args, **kwargs)
kind=method class=BytesIO objtype=method_descriptor line:876 at …\python_stubs-1026899380_io.py
如果IO对象可以写入,则返回True。
18 write(self, *args, **kwargs)
kind=method class=BytesIO objtype=method_descriptor line:880 at …\python_stubs-1026899380_io.py
将字节写入文件。返回写入的字节数。
19 writelines(self, *args, **kwargs)
kind=method class=BytesIO objtype=method_descriptor line:888 at …\python_stubs-1026899380_io.py
向文件中写入行。
注意,没有添加换行符。行可以是任何产生字节类对象的可迭代对象。这相当于为每个元素调用write()。
StringIO, _io.StringIO, module=_io
使用内存缓冲区实现文本I/O。
初始值参数initial_value设置对象的值。换行参数newline类似于TextIOWrapper的构造函数。
1 closed=
kind:data type:getset_descriptor class:
2 line_buffering=kind:data type:getset_descriptor class:
3 newlines=kind:data type:getset_descriptor class:
4 close(self, *args, **kwargs)
kind=method class=StringIO objtype=method_descriptor line:1202 at …\python_stubs-1026899380_io.py
关闭IO对象。
在对象关闭后尝试任何进一步操作将引发ValueError。如果文件已经关闭,此方法将不起作用。
5 getvalue(self, *args, **kwargs)
kind=method class=StringIO objtype=method_descriptor line:1213 at …\python_stubs-1026899380_io.py
检索对象的全部内容。
6 read(self, *args, **kwargs)
kind=method class=StringIO objtype=method_descriptor line:1217 at …\python_stubs-1026899380_io.py
读取最多大小的字符,作为字符串返回。
如果参数为负或省略,则读取直到到达EOF。在EOF处返回空字符串。
7 readable(self, *args, **kwargs)
kind=method class=StringIO objtype=method_descriptor line:1226 at …\python_stubs-1026899380_io.py
如果IO对象可以读取,则返回True。
8 readline(self, *args, **kwargs)
kind=method class=StringIO objtype=method_descriptor line:1230 at …\python_stubs-1026899380_io.py
读到换行符或EOF。
如果立即命中EOF,则返回空字符串。
9 seek(self, *args, **kwargs)
kind=method class=StringIO objtype=method_descriptor line:1238 at …\python_stubs-1026899380_io.py
改变流位置。
查找字符偏移量pos相对于何处所指示的位置:
0 流的开始(默认值)。Pos应该是 >= 0;
1 当前位置- pos必须为0;
2 流的结束- pos必须为0。
返回新的绝对位置。
10 seekable(self, *args, **kwargs)
kind=method class=StringIO objtype=method_descriptor line:1250 at …\python_stubs-1026899380_io.py
如果IO对象可以被查找,则返回True。
11 tell(self, *args, **kwargs)
kind=method class=StringIO objtype=method_descriptor line:1254 at …\python_stubs-1026899380_io.py
告诉当前文件的位置。
12 truncate(self, *args, **kwargs)
kind=method class=StringIO objtype=method_descriptor line:1258 at …\python_stubs-1026899380_io.py
将size截断为pos。
pos参数默认为当前文件位置,由tell()返回。当前文件位置不变。返回新的绝对位置。
13 writable(self, *args, **kwargs)
kind=method class=StringIO objtype=method_descriptor line:1268 at …\python_stubs-1026899380_io.py
如果IO对象可以写入,则返回True。
14 write(self, *args, **kwargs)
kind=method class=StringIO objtype=method_descriptor line:1272 at …\python_stubs-1026899380_io.py
将字符串写入文件。
返回写入的字符数,它总是等于字符串的长度。
_WindowsConsoleIO, _io._WindowsConsoleIO, module=_io
按文件描述符打开控制台缓冲区。
模式可以是'rb'(默认),或'wb'用于读取或写入字节。
所有其他模式字符将被忽略。如果省略了模式'b',则假定模式'b'。*opener*参数总是被忽略。
1 closed=
kind:data type:getset_descriptor class:
2 closefd=kind:data type:getset_descriptor class:
3 mode=kind:data type:getset_descriptor class:
4 close(self)
kind=method class=_WindowsConsoleIO objtype=method_descriptor line:1447 at …\python_stubs-1026899380_io.py
关闭句柄。
关闭句柄后不能用于进一步的I/O操作。close()可以被调用多次而不会出现错误。
5 fileno(self, *args, **kwargs)
kind=method class=_WindowsConsoleIO objtype=method_descriptor line:1456 at …\python_stubs-1026899380_io.py
返回底层文件描述符(一个整数)。仅当使用文件描述符打开一个标准流时才设置fileno。
6 isatty(self, *args, **kwargs)
kind=method class=_WindowsConsoleIO objtype=method_descriptor line:1465 at …\python_stubs-1026899380_io.py
总是True。
7 read(self, *args, **kwargs)
kind=method class=_WindowsConsoleIO objtype=method_descriptor line:1469 at …\python_stubs-1026899380_io.py
读取最多大小字节,作为字节返回。
当size为正整数时,只进行一次系统调用,因此返回的数据可能比请求的要少。在EOF处返回一个空字节对象。
8 readable(self, *args, **kwargs)
kind=method class=_WindowsConsoleIO objtype=method_descriptor line:1479 at …\python_stubs-1026899380_io.py
如果console是输入缓冲区,则为True。
9 readall(self, *args, **kwargs)
kind=method class=_WindowsConsoleIO objtype=method_descriptor line:1483 at …\python_stubs-1026899380_io.py
从控制台读取所有数据,以字节形式返回。在EOF处返回一个空字节对象。
10 readinto(self)
kind=method class=_WindowsConsoleIO objtype=method_descriptor line:1491 at …\python_stubs-1026899380_io.py
与RawIOBase.readinto()相同。
11 writable(self, *args, **kwargs)
kind=method class=_WindowsConsoleIO objtype=method_descriptor line:1495 at …\python_stubs-1026899380_io.py
如果console是输出缓冲区,则为True。
12 write(self, *args, **kwargs)
kind=method class=_WindowsConsoleIO objtype=method_descriptor line:1499 at …\python_stubs-1026899380_io.py
将缓冲区b写入文件,返回写入的字节数。
只做一个系统调用,所以不是所有的数据都可能被写入。返回实际写入的字节数。
BufferedReader, _io.BufferedReader, module=_io
使用给定的可读原始IO对象创建一个新的缓冲读取器。
1 closed=
kind:data type:getset_descriptor class:
2 mode=kind:data type:getset_descriptor class:
3 name=kind:data type:getset_descriptor class:
4 raw=kind:data type:member_descriptor class:
5 close(self, *args, **kwargs)
kind=method class=BufferedReader objtype=method_descriptor line:551 at …\python_stubs-1026899380_io.py
6 detach(self, *args, **kwargs)
kind=method class=BufferedReader objtype=method_descriptor line:554 at …\python_stubs-1026899380_io.py
7 fileno(self, *args, **kwargs)
kind=method class=BufferedReader objtype=method_descriptor line:557 at …\python_stubs-1026899380_io.py
8 flush(self, *args, **kwargs)
kind=method class=BufferedReader objtype=method_descriptor line:560 at …\python_stubs-1026899380_io.py
9 isatty(self, *args, **kwargs)
kind=method class=BufferedReader objtype=method_descriptor line:563 at …\python_stubs-1026899380_io.py
10 peek(self, *args, **kwargs)
kind=method class=BufferedReader objtype=method_descriptor line:566 at …\python_stubs-1026899380_io.py
11 read(self, *args, **kwargs)
kind=method class=BufferedReader objtype=method_descriptor line:569 at …\python_stubs-1026899380_io.py
12 read1(self, *args, **kwargs)
kind=method class=BufferedReader objtype=method_descriptor line:572 at …\python_stubs-1026899380_io.py
13 readable(self, *args, **kwargs)
kind=method class=BufferedReader objtype=method_descriptor line:575 at …\python_stubs-1026899380_io.py
14 readinto(self, *args, **kwargs)
kind=method class=BufferedReader objtype=method_descriptor line:578 at …\python_stubs-1026899380_io.py
15 readinto1(self, *args, **kwargs)
kind=method class=BufferedReader objtype=method_descriptor line:581 at …\python_stubs-1026899380_io.py
16 readline(self, *args, **kwargs)
kind=method class=BufferedReader objtype=method_descriptor line:584 at …\python_stubs-1026899380_io.py
17 seek(self, *args, **kwargs)
kind=method class=BufferedReader objtype=method_descriptor line:587 at …\python_stubs-1026899380_io.py
18 seekable(self, *args, **kwargs)
kind=method class=BufferedReader objtype=method_descriptor line:590 at …\python_stubs-1026899380_io.py
19 tell(self, *args, **kwargs)
kind=method class=BufferedReader objtype=method_descriptor line:593 at …\python_stubs-1026899380_io.py
20 truncate(self, *args, **kwargs)
kind=method class=BufferedReader objtype=method_descriptor line:596 at …\python_stubs-1026899380_io.py
BufferedWriter, _io.BufferedWriter, module=_io
用于可写顺序RawIO对象的缓冲区。
构造函数为给定的可写原始流创建BufferedWriter。
如果没有给出缓冲区大小buffer_size,则默认为DEFAULT_BUFFER_SIZE。
1 closed=
kind:data type:getset_descriptor class:
2 mode=kind:data type:getset_descriptor class:
3 name=kind:data type:getset_descriptor class:
4 raw=kind:data type:member_descriptor class:
5 close(self, *args, **kwargs)
kind=method class=BufferedWriter objtype=method_descriptor line:704 at …\python_stubs-1026899380_io.py
6 detach(self, *args, **kwargs)
kind=method class=BufferedWriter objtype=method_descriptor line:707 at …\python_stubs-1026899380_io.py
7 fileno(self, *args, **kwargs)
kind=method class=BufferedWriter objtype=method_descriptor line:710 at …\python_stubs-1026899380_io.py
8 flush(self, *args, **kwargs)
kind=method class=BufferedWriter objtype=method_descriptor line:713 at …\python_stubs-1026899380_io.py
9 isatty(self, *args, **kwargs)
kind=method class=BufferedWriter objtype=method_descriptor line:716 at …\python_stubs-1026899380_io.py
10 seek(self, *args, **kwargs)
kind=method class=BufferedWriter objtype=method_descriptor line:719 at …\python_stubs-1026899380_io.py
11 seekable(self, *args, **kwargs)
kind=method class=BufferedWriter objtype=method_descriptor line:722 at …\python_stubs-1026899380_io.py
12 tell(self, *args, **kwargs)
kind=method class=BufferedWriter objtype=method_descriptor line:725 at …\python_stubs-1026899380_io.py
13 truncate(self, *args, **kwargs)
kind=method class=BufferedWriter objtype=method_descriptor line:728 at …\python_stubs-1026899380_io.py
14 writable(self, *args, **kwargs)
kind=method class=BufferedWriter objtype=method_descriptor line:731 at …\python_stubs-1026899380_io.py
15 write(self, *args, **kwargs)
kind=method class=BufferedWriter objtype=method_descriptor line:734 at …\python_stubs-1026899380_io.py
BufferedRWPair, _io.BufferedRWPair, module=_io
一个缓冲的读取器和写入器对象。
一个缓冲的读取器对象和缓冲的写入器对象放在一起,形成一个可以读写的顺序IO对象。
这通常与socket或双向管道(two-way pipe)一起使用。
reader和writer是RawIOBase对象,分别是可读和可写的。如果缓冲区大小 buffer_size 被忽略,它默认为DEFAULT_BUFFER_SIZE。
1 closed=
kind:data type:getset_descriptor class:
2 close(self, *args, **kwargs)
kind=method class=BufferedRWPair objtype=method_descriptor line:648 at …\python_stubs-1026899380_io.py
3 flush(self, *args, **kwargs)
kind=method class=BufferedRWPair objtype=method_descriptor line:651 at …\python_stubs-1026899380_io.py
4 isatty(self, *args, **kwargs)
kind=method class=BufferedRWPair objtype=method_descriptor line:654 at …\python_stubs-1026899380_io.py
5 peek(self, *args, **kwargs)
kind=method class=BufferedRWPair objtype=method_descriptor line:657 at …\python_stubs-1026899380_io.py
6 read(self, *args, **kwargs)
kind=method class=BufferedRWPair objtype=method_descriptor line:660 at …\python_stubs-1026899380_io.py
7 read1(self, *args, **kwargs)
kind=method class=BufferedRWPair objtype=method_descriptor line:663 at …\python_stubs-1026899380_io.py
8 readable(self, *args, **kwargs)
kind=method class=BufferedRWPair objtype=method_descriptor line:666 at …\python_stubs-1026899380_io.py
9 readinto(self, *args, **kwargs)
kind=method class=BufferedRWPair objtype=method_descriptor line:669 at …\python_stubs-1026899380_io.py
10 readinto1(self, *args, **kwargs)
kind=method class=BufferedRWPair objtype=method_descriptor line:672 at …\python_stubs-1026899380_io.py
11 writable(self, *args, **kwargs)
kind=method class=BufferedRWPair objtype=method_descriptor line:675 at …\python_stubs-1026899380_io.py
12 write(self, *args, **kwargs)
kind=method class=BufferedRWPair objtype=method_descriptor line:678 at …\python_stubs-1026899380_io.py
BufferedRandom, _io.BufferedRandom, module=_io
随机访问流的缓冲接口。构造函数为第一个参数中给出的可搜索流 raw 创建读取器和写入器。
如果缓冲区大小被忽略,它默认为 DEFAULT_BUFFER_SIZE。
1 closed=
kind:data type:getset_descriptor class:
2 mode=kind:data type:getset_descriptor class:
3 name=kind:data type:getset_descriptor class:
4 raw=kind:data type:member_descriptor class:
5 close(self, *args, **kwargs)
kind=method class=BufferedRandom objtype=method_descriptor line:458 at …\python_stubs-1026899380_io.py
6 detach(self, *args, **kwargs)
kind=method class=BufferedRandom objtype=method_descriptor line:461 at …\python_stubs-1026899380_io.py
7 fileno(self, *args, **kwargs)
kind=method class=BufferedRandom objtype=method_descriptor line:464 at …\python_stubs-1026899380_io.py
8 flush(self, *args, **kwargs)
kind=method class=BufferedRandom objtype=method_descriptor line:467 at …\python_stubs-1026899380_io.py
9 isatty(self, *args, **kwargs)
kind=method class=BufferedRandom objtype=method_descriptor line:470 at …\python_stubs-1026899380_io.py
10 peek(self, *args, **kwargs)
kind=method class=BufferedRandom objtype=method_descriptor line:473 at …\python_stubs-1026899380_io.py
11 read(self, *args, **kwargs)
kind=method class=BufferedRandom objtype=method_descriptor line:476 at …\python_stubs-1026899380_io.py
12 read1(self, *args, **kwargs)
kind=method class=BufferedRandom objtype=method_descriptor line:479 at …\python_stubs-1026899380_io.py
13 readable(self, *args, **kwargs)
kind=method class=BufferedRandom objtype=method_descriptor line:482 at …\python_stubs-1026899380_io.py
14 readinto(self, *args, **kwargs)
kind=method class=BufferedRandom objtype=method_descriptor line:485 at …\python_stubs-1026899380_io.py
15 readinto1(self, *args, **kwargs)
kind=method class=BufferedRandom objtype=method_descriptor line:488 at …\python_stubs-1026899380_io.py
16 readline(self, *args, **kwargs)
kind=method class=BufferedRandom objtype=method_descriptor line:491 at …\python_stubs-1026899380_io.py
17 seek(self, *args, **kwargs)
kind=method class=BufferedRandom objtype=method_descriptor line:494 at …\python_stubs-1026899380_io.py
18 seekable(self, *args, **kwargs)
kind=method class=BufferedRandom objtype=method_descriptor line:497 at …\python_stubs-1026899380_io.py
19 tell(self, *args, **kwargs)
kind=method class=BufferedRandom objtype=method_descriptor line:500 at …\python_stubs-1026899380_io.py
20 truncate(self, *args, **kwargs)
kind=method class=BufferedRandom objtype=method_descriptor line:503 at …\python_stubs-1026899380_io.py
21 writable(self, *args, **kwargs)
kind=method class=BufferedRandom objtype=method_descriptor line:506 at …\python_stubs-1026899380_io.py
22 write(self, *args, **kwargs)
kind=method class=BufferedRandom objtype=method_descriptor line:509 at …\python_stubs-1026899380_io.py
TextIOWrapper, _io.TextIOWrapper, module=_io
字符和行基于层在BufferedIOBase对象,缓冲区。
Encoding给出流将被解码或编码的编码的名称。默认为locale.getpreferredencoding(False)。
errors决定编码和解码的严格程度(参见help(codecs.Codec)或codecs.register的文档),默认为"strict"。
换行符控制如何处理行结束符。它可以是None、''、'\n'、'\r'和'\r\n'。其工作原理如下:
*在输入时,如果newline为None,则启用通用换行模式。输入中的行可以以“\n”、“\r”或“\r\n”结尾,这些行在返回给调用者之前被转换为“\n”。
如果是'',则启用通用换行模式,但行结束符将未转换地返回给调用方。如果它具有任何其他合法值,则输入行仅以给定的字符串结束,并且行结束将不经过翻译返回给调用者。
*在输出时,如果newline为None,则写入的任何'\n'字符将转换为系统默认的行分隔符os.linesep。如果换行符为''或'\n',则不进行转换。
如果newline是任何其他合法值,则写入的任何'\n'字符都将转换为给定的字符串。如果行缓冲为True,则当写入调用包含换行符时,将隐含对flush的调用。
1 buffer=
kind:data type:member_descriptor class:
2 closed=kind:data type:getset_descriptor class:
3 encoding=kind:data type:member_descriptor class:
4 errors=kind:data type:getset_descriptor class:
5 line_buffering=kind:data type:member_descriptor class:
6 name=kind:data type:getset_descriptor class:
7 newlines=kind:data type:getset_descriptor class:
8 write_through=kind:data type:member_descriptor class:
9 close(self, *args, **kwargs)
kind=method class=TextIOWrapper objtype=method_descriptor line:1338 at …\python_stubs-1026899380_io.py
10 detach(self, *args, **kwargs)
kind=method class=TextIOWrapper objtype=method_descriptor line:1341 at …\python_stubs-1026899380_io.py
11 fileno(self, *args, **kwargs)
kind=method class=TextIOWrapper objtype=method_descriptor line:1344 at …\python_stubs-1026899380_io.py
12 flush(self, *args, **kwargs)
kind=method class=TextIOWrapper objtype=method_descriptor line:1347 at …\python_stubs-1026899380_io.py
13 isatty(self, *args, **kwargs)
kind=method class=TextIOWrapper objtype=method_descriptor line:1350 at …\python_stubs-1026899380_io.py
14 read(self, *args, **kwargs)
kind=method class=TextIOWrapper objtype=method_descriptor line:1353 at …\python_stubs-1026899380_io.py
15 readable(self, *args, **kwargs)
kind=method class=TextIOWrapper objtype=method_descriptor line:1356 at …\python_stubs-1026899380_io.py
16 readline(self, *args, **kwargs)
kind=method class=TextIOWrapper objtype=method_descriptor line:1359 at …\python_stubs-1026899380_io.py
17 reconfigure(self, *args, **kwargs)
kind=method class=TextIOWrapper objtype=method_descriptor line:1362 at …\python_stubs-1026899380_io.py
使用新参数重新配置文本流。这也会执行隐式流刷新。
18 seek(self, *args, **kwargs)
kind=method class=TextIOWrapper objtype=method_descriptor line:1370 at …\python_stubs-1026899380_io.py
19 seekable(self, *args, **kwargs)
kind=method class=TextIOWrapper objtype=method_descriptor line:1373 at …\python_stubs-1026899380_io.py
20 tell(self, *args, **kwargs)
kind=method class=TextIOWrapper objtype=method_descriptor line:1376 at …\python_stubs-1026899380_io.py
21 truncate(self, *args, **kwargs)
kind=method class=TextIOWrapper objtype=method_descriptor line:1379 at …\python_stubs-1026899380_io.py
22 writable(self, *args, **kwargs)
kind=method class=TextIOWrapper objtype=method_descriptor line:1382 at …\python_stubs-1026899380_io.py
23 write(self, *args, **kwargs)
kind=method class=TextIOWrapper objtype=method_descriptor line:1385 at …\python_stubs-1026899380_io.py
IncrementalNewlineDecoder, _io.IncrementalNewlineDecoder, module=_io
以通用换行模式读取文件时使用的编解码器。
它封装了另一个增量解码器,将\r\n和\r转换为\n。它还记录遇到的换行符的类型。
当与translate=False一起使用时,它确保整体返回换行序列。
当与decoder=None一起使用时,它期望unicode字符串作为解码输入,并在不首先调用外部解码器的情况下转换换行。
1 newlines=
kind:data type:getset_descriptor class:
2 decode(self, *args, **kwargs)
kind=method class=IncrementalNewlineDecoder objtype=method_descriptor line:1104 at …\python_stubs-1026899380_io.py
3 getstate(self, *args, **kwargs)
kind=method class=IncrementalNewlineDecoder objtype=method_descriptor line:1107 at …\python_stubs-1026899380_io.py
4 reset(self, *args, **kwargs)
kind=method class=IncrementalNewlineDecoder objtype=method_descriptor line:1110 at …\python_stubs-1026899380_io.py
5 setstate(self, *args, **kwargs)
kind=method class=IncrementalNewlineDecoder objtype=method_descriptor line:1113 at …\python_stubs-1026899380_io.py
18 open
19 _IOBase
20 _RawIOBase
21 _BufferedIOBase
22 _TextIOBase
23 _WindowsConsoleIO
序号 | 类别 | 数量 |
---|---|---|
4 | str | 5 |
8 | dict | 1 |
10 | class | 5 |
11 | function | 1 |
12 | builtin_function_or_method | 8 |
13 | residual | 2 |
14 | system | 8 |
15 | private | 7 |
16 | all | 22 |
abc, fullname=abc, file=abc.py
根据PEP 3119的抽象基类(abc)。
abstractmethod(funcobj), module=abc, line:7 at abc.py
表示抽象方法的装饰器。
要求元类是ABCMeta或从ABCMeta派生的。除非重写其所有抽象方法,否则具有从ABCMeta派生的元类的类不能被实例化。
抽象方法可以使用任何普通的“super”调用机制调用。
用法:
class C(metaclass=ABCMeta):
@abstractmethod
def my_abstract_method(self, ...):
...
abstractclassmethod, abc.abstractclassmethod, module=abc, line:27 at abc.py
指示抽象类方法的装饰器。
类似于abstractmethod。
用法:
class C(metaclass=ABCMeta):
@abstractclassmethod
def my_abstract_classmethod(cls, ...):
...
'abstractclassmethod'已弃用。使用'classmethod'和'abstractmethod'代替。
abstractstaticmethod, abc.abstractstaticmethod, module=abc, line:50 at abc.py
指示抽象静态方法的装饰器。
类似于abstractmethod。
用法:
class C(metaclass=ABCMeta):
@abstractstaticmethod
def my_abstract_staticmethod(...):
...
'abstractstaticmethod'已弃用。使用'staticmethod'和'abstractmethod'代替。
abstractproperty, abc.abstractproperty, module=abc, line:73 at abc.py
表示抽象属性的装饰器。
要求元类是ABCMeta或从ABCMeta派生的。除非重写其所有抽象属性,否则具有从ABCMeta派生的元类的类不能被实例化。
抽象属性可以使用任何普通的“超级”调用机制调用。
用法:
class C(metaclass=ABCMeta):
@abstractproperty
def my_abstract_property(self):
...
这定义了一个只读属性;你也可以使用属性声明的'long'形式定义一个读写抽象属性:
class C(metaclass=ABCMeta):
def getx(self): ...
def setx(self, value): ...
x = abstractproperty(getx, setx)
'abstractproperty'已弃用。使用'property'和'abstractmethod'代替。
ABCMeta, abc.ABCMeta, module=abc, line:-1 at abc.py
用于定义抽象基类的元类。
使用此元类创建ABC。ABC可以直接子类化,然后充当混合类。
你也可以注册不相关的具体类(甚至内置类)和不相关的ABC作为“虚拟子类”——
这些及其后代将被内置的issubclass()函数视为注册ABC的子类,但注册ABC不会出现在它们的MRO(方法解析顺序)中,
也不能调用由注册ABC定义的方法实现(甚至不能通过super())。
1 register()
kind=method class=ABCMeta objtype=function
注册一个ABC的虚拟子类。返回子类,以允许用作类装饰器。
ABC, abc.ABC, module=abc, line:166 at abc.py
Helper类,它提供了使用继承创建ABC的标准方法。
7 get_cache_token
8 _abc_init
9 _abc_register
10 _abc_instancecheck
11 _abc_subclasscheck
12 _get_dump
13 _reset_registry
14 _reset_caches
15 _abc_init
16 _abc_register
17 _abc_instancecheck
18 _abc_subclasscheck
19 _get_dump
20 _reset_registry
21 _reset_caches
下表总结了抽象基类提供的 “io” 模块:
抽象基类 | 继承 | Stub 方法 | Mixin方法和属性 |
---|---|---|---|
“IOBase” | “fileno”, “seek”, 和 | “close”, “closed”, “enter”, “exit”, | |
“truncate” | “flush”, “isatty”, “iter”, “next”, | ||
“readable”, “readline”, “readlines”, “seekable”, | |||
“tell”, “writable”, 和 “writelines” | |||
“RawIOBase” | “IOBase” | “readinto” 和 “write” | 继承 “IOBase” 方法, “read”, 和 “readall” |
“BufferedIOBase” | “IOBase” | “detach”, “read”, | 继承 “IOBase” 方法, “readinto”, 和 “readinto1” |
“read1”, 和 “write” | |||
“TextIOBase” | “IOBase” | “detach”, “read”, | 继承 “IOBase” 方法, “encoding”, “errors”, 和 |
“readline”, 和 “write” | “newlines” |