2

我正在将 python C 模块从 2.7.x 移植到 python 3.3。我遇到的一个问题是,Py_FlushLine据我所知,它没有在 python 标头中定义。

应该如何修改以下代码片段以在 python 3.3 中工作?

  if (Py_FlushLine()) PyErr_Clear();

更有趣的是,搜索在线 python 文档并没有显示任何关于这个Py_FlushLine函数的信息。

4

1 回答 1

4

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 不再有软空间的概念,我猜这个决定是这个函数是多余的,应该直接将 EOL 写入标准输出。

于 2013-04-12T04:23:15.407 回答