2013-04-12 43 views
1

我将一个python C模块从2.7.x移植到python 3.3。我遇到的其中一个问题是Py_FlushLine没有在我能说的python头文件中定义。Python 3.3中的Py_FlushLine发生了什么?

下面的代码片段应该如何修改才能在python 3.3中工作?

if (Py_FlushLine()) PyErr_Clear(); 

更有趣的是,搜索在线Python文档不显示这个Py_FlushLine功能什么。

回答

3

Py_Flushline用于这个样子:

int 
Py_FlushLine(void) 
{ 
     PyObject *f = PySys_GetObject("stdout"); 
     if (f == NULL) 
       return 0; 
     if (!PyFile_SoftSpace(f, 0)) 
       return 0; 
     return PyFile_WriteString("\n", f); 
} 

由于Py3k不再有softspace的概念,我猜的决定是,这个功能是多余的,应该只写了EOL直接标准输出。

相关问题