解码二进制模式中打开的类似文件的对象

2024-04-26 07:01:21 发布

您现在位置:Python中文网/ 问答频道 /正文

在python中,给定一个以二进制模式打开的类文件对象,在不将所有内容加载到内存的情况下,将其转换为UTF8解码的类文件对象的最佳方法是什么?你知道吗


Tags: 文件对象方法内存内容二进制模式情况
1条回答
网友
1楼 · 发布于 2024-04-26 07:01:21

您可以获取特定编码的StreamReader并将其传递给流。它将只返回完全解码的代码点。你知道吗

#coding:utf8
import codecs
import io

# A file-like binary stream.
data = io.BytesIO('我是美国人。\n你是中国人。\n'.encode('utf8'))

# Get the UTF-8 StreamReader class and instantiate it on the data.
f = codecs.getreader('utf8')(data)

print(f.read(2))
f.seek(0)
for line in f:
    print(line,end='')

输出:

我是
我是美国人。
你是中国人。

相关问题 更多 >