我正在将一个python C模块从2.7.x移植到python 3.3。我遇到的一个问题是我从python标题中没有定义Py_FlushLine
。
如何修改以下代码片段以在python 3.3中工作?
if (Py_FlushLine()) PyErr_Clear();
更有趣的是,搜索在线python文档并未显示有关此Py_FlushLine
函数的任何信息。
答案 0 :(得分: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编写到stdout。