栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

python的内置open()函数中缓冲的用途是什么?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python的内置open()函数中缓冲的用途是什么?

Enabling buffering means that you’re not directly interfacing with the OS’s
representation of a file, or its file system API. Instead, a chunk of data is
read from the raw OS filestream into a buffer until it is consumed, at which
point more data is fetched into the buffer. In terms of the objects you get,
you’ll get a

BufferedIObase
object wrapping an underlying
RawIObase
(which
represents the raw file stream).

这有什么好处?与原始流进行良好的接口可能会导致较高的延迟,因为操作系统必须摆弄诸如硬盘之类的物理对象,并且在所有情况下这都是不可接受的。假设您想每5毫秒从文件中读取三个字母,并且文件位于硬壳旧硬盘甚至网络文件系统上。与其尝试每隔5毫秒从原始文件流中读取数据,不如将文件中的一堆字节加载到内存中的缓冲区中,然后随意使用它。

选择什么大小的缓冲区将取决于您如何使用数据。对于上面的示例,缓冲区大小为1个字符非常糟糕,三个字符是可以的,并且3个字符的较大倍数不会对用户造成明显的延迟将是理想的。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/611004.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号