uio – 输入/输出流#

该模块实现了相应 CPython 模块的子集,如下所述。有关更多信息,请参阅原始 CPython 文档:io

该模块包含其他类型的流(类文件)对象和辅助函数。

函数#

open#

io.open(name, mode='r', **kwargs)

打开一个文件。内置 open() 函数是此函数的别名。

#

class io.FileIO(...)#

这是以二进制模式打开的文件类型,例如使用open(name, "rb")。你不应该直接实例化这个类。

class io.TextIOWrapper(...)#

这是以文本模式打开的文件类型,例如使用open(name, "rt")。你不应该直接实例化这个类。

class io.StringIO([string])#

class io.BytesIO([string])#

用于输入/输出的内存中类似文件的对象。

StringIO 用于文本模式 I/O(类似于使用“t”修饰符打开的普通文件)。

BytesIO 用于二进制模式 I/O(类似于使用“b”修饰符打开的普通文件)。

类文件对象的初始内容可以用字符串参数指定(对于 StringIO 应该是普通字符串,对于 BytesIO 应该是字节对象)。

所有常见的文件方法,如 read()write()seek()flush()close() 都可用于这些对象,此外还有以下方法:

getvalue()#

获取保存数据的底层缓冲区的当前内容。

class io.StringIO(alloc_size)#

class io.BytesIO(alloc_size)#

创建一个空的 StringIO/BytesIO 对象,预分配最多可容纳 alloc_size 个字节。

这意味着写入该数量的字节不会导致缓冲区的重新分配,因此不会遇到内存不足的情况或导致内存碎片。

这些构造函数是 MicroPython 扩展,建议仅在特殊情况和系统级库中使用,而不是用于最终用户应用程序。