我正在查看Python-2.7.6
的源代码来解决这个问题。你知道吗
在Objects/fileobject.c
,第1052行,有一个名为file_read
的函数,我猜它对应于Python
中file对象上的函数read
。你知道吗
在同一个文件的第1067行,我看到下面一行。请注意,bytesrequested
在函数的下一步中用于决定要分配用于存储文件的缓冲区的大小。你知道吗
if (!PyArg_ParseTuple(args, "|l:read", &bytesrequested))
看起来请求的字节数是以某种方式编码在args
中的,它的类型是PyObject*
。因此,继续搜索的自然位置是找出调用file_read
的位置。你知道吗
但是,我在整个Python源代码树(recursive grep)中找不到实际调用file_read
的地方,因此我无法继续跟踪以找出bytesrequested
的实际计算方式。
file_read
是否在源树的不同部分以不同的名称调用?你知道吗
看line 2114
file_read
是python的file.read
方法。C代码中的args
是传递给file.read
的参数。bytesrequested
是作为参数传递给file.read
的内容相关问题 更多 >
编程相关推荐