【发布时间】:2013-04-13 19:02:12
【问题描述】:
受this question 的启发,我想知道Python 的open() 函数的可选缓冲参数究竟是做什么的。通过查看the source,我看到buffering 被传递到setvbuf 以设置流的缓冲区大小(并且它在没有setvbuf 的系统上没有任何作用,文档确认了这一点)。
但是,当您遍历文件时,有一个名为 READAHEAD_BUFSIZE 的常量似乎定义了一次读取多少数据(此常量定义为 here)。
我的问题是 buffering 参数与 READAHEAD_BUFSIZE 的关系究竟如何。当我遍历一个文件时,哪一个定义了一次从磁盘读取多少数据? C 源代码中是否有明确说明这一点的地方?
【问题讨论】:
标签: python file-io io-buffering