【发布时间】:2018-08-08 12:54:42
【问题描述】:
我首先将一些二进制数据写入TextIOWrapper 对象。
然后需要获得所有连接的写入结果(在下面的示例中它将是b"XXXYYY")。如何获取写入的结果?
import sys
from io import BytesIO, TextIOWrapper
file = TextIOWrapper(BytesIO(), sys.stdout.encoding)
file.buffer.write(b"XXX")
file.buffer.write(b"YYY")
print(file) # does not work
【问题讨论】:
-
file.buffer.getvalue()似乎有效。但是文档说buffer不是公共 API 的一部分 -
但是为什么你需要
TextIOWrapper而不是纯BytesIO呢? -
@Sraw 我将 (monkey-patch) sys.stdout 替换为我的
TextIOWrapper对象(用于测试目的)
标签: python python-3.x io buffer