假设您需要将二进制数据写入标准输出:
sys.stdout.buffer.write(data)
然后要清除缓存,您可以使用以下两种方法之一:
sys.stdout.flush()
sys.stdout.buffer.flush()
这两个调用在简单情况下似乎以相同的方式工作。然而,第一个调用会在整个stdout对象(_io.TextIOWrapper)上调用flush,而第二个调用只会在缓冲区子对象(_io.BufferedWriter)上调用flush。
有什么情况下我们会更喜欢其中一种方式?
BufferedIOBase
代替sys.stdout.buffer
以获得更完整的答案吗?(例如:是否需要创建新对象,参数是什么等) - user7501761BufferedIOBase
类,你可以随时查看这样的资源。 - loganasherjones