在Python中打开文件时如何指定缓冲区大小?
如果看一下open-open(name[,mode[,buffering]])的函数定义,您会发现在Python2中它需要3个参数,第三个是缓冲。可选的buffering参数指定文件所需的缓冲区大小:0表示未缓冲,1表示行缓冲,任何其他正值表示使用(大约)该大小(以字节为单位)的缓冲区。负缓冲意味着使用系统默认值,通常对tty设备使用行缓冲,而对于其他文件则使用完全缓冲。如果省略,则使用系统默认值。
例如,如果要打开缓冲区大小为128字节的文件,则可以这样打开文件-
>>> open('my_file', 'r+', 128)在Python3中,open的函数定义为:open(file,mode='r',buffering=-1,encoding=None,errors=None,newline=None,closefd=True,opener=None)。buffering是用于设置缓冲策略的可选整数。传递0以关闭缓冲(仅在二进制模式下允许),传递1以选择行缓冲(仅在文本模式下可用),并传递大于1的整数来指示固定大小的块缓冲区的字节大小。当没有给出缓冲参数时,默认缓冲策略如下:
二进制文件以固定大小的块缓冲;缓冲区的大小是通过试探法来确定底层设备的“块大小”,然后再使用io.DEFAULT_BUFFER_SIZE来选择的。
“交互式”文本文件(为其isatty()返回True的文件)使用行缓冲。其他文本文件将上述策略用于二进制文件。
Python3的示例与Python2相同。例如,如果您要打开缓冲区大小为128字节的文件,则可以这样打开文件-
>>> open('my_file', 'r+', 128)热门推荐
10 诗词送行祝福语大全简短
11 新房开工吉日祝福语简短
12 50多岁生日简短祝福语
13 安徽疫情祝福语简短英语
14 农民朋友发财祝福语简短
15 对生活祝福语简短精辟
16 搬家词简短祝福语朋友
17 女神结婚快乐祝福语简短
18 文学短句祝福语大全简短