对,这里简单的问题。我无法使用谷歌找到答案并在此处查看。
我需要为python中的内置函数编写一些存根,如open(name[, mode[, buffering]])
。但是,我似乎无法找到mode
和buffering
的默认值
它似乎不是None
答案 0 :(得分:2)
为了制作内置插件的包装器,你通常最终会做的是:
def myOpen(name, mode='r', buffer=None):
if buffer:
open_file = open(name, mode, buffer)
else:
open_file = open(name, mode)
原因是并非所有参数都可通过关键字(在这种情况下为buffer
)访问。
答案 1 :(得分:1)
如果省略
mode
,则默认为'r'
。...
可选的
buffering
参数指定文件所需的缓冲区大小(...)如果省略,则使用系统默认值。
涉及buffering
的系统默认值:
指定缓冲区大小当前对没有
setvbuf()
的系统没有影响。指定缓冲区大小的接口不是使用调用setvbuf()
的方法完成的,因为在执行任何I / O后调用时可能会转储核心,并且没有可靠的方法来确定是否是这种情况。