在Perl中相当于$ | = 1的python是什么

时间:2018-10-06 23:09:14

标签: python python-3.x python-2.7 perl cgi

嗨,我是Perl和CGI的新手。

我正在尝试将perl脚本转换为python。

在脚本中提到 $ | = 1 。我了解的是它清除了缓冲区。

我正在搜索是否有与之等效的python来做确切的事情。

有什么建议吗?

1 个答案:

答案 0 :(得分:3)

我暂时不考虑移植此行,因为在每个print之后刷新标准输出可能是您移植担忧中最少的。

但是,如果有的话,您有很多选择:

  • 只需将flush=True关键字参数添加到您的print函数调用中即可。
  • "unbuffered" mode with the -u switch中运行Python。
  • 以无缓冲模式(例如最后的0)重新打开标准输出:
    • sys.stdout = os.fdopen(sys.stdout.fileno(), 'w', 0)
  • 编写一个print包装函数,以隐藏内置print并刷新stdout
  • 写一个TextIOWrapper对象,该对象包装sys.stdout并刷新

我将尝试为其余要点找到一些链接,并在其中进行编辑。