將開啟的檔案傳遞給 C Extensions
將開啟的檔案物件從 Python 傳遞到 C 擴充套件程式碼。
你可以使用 PyObject_AsFileDescriptor
函式將檔案轉換為整數檔案描述符:
PyObject *fobj;
int fd = PyObject_AsFileDescriptor(fobj);
if (fd < 0){
return NULL;
}
要將整數檔案描述符轉換回 python 物件,請使用 PyFile_FromFd
。
int fd; /* Existing file descriptor */
PyObject *fobj = PyFile_FromFd(fd, "filename","r",-1,NULL,NULL,NULL,1);