Perl 中的 python 等价于 $|=1 的是什么
What is the python equivalent to $|=1 in Perl
您好,我是 Perl 和 CGI 的新手。
我正在尝试将 perl 脚本转换为 python。
脚本中提到了$|=1。我的理解是它清除了缓冲区。
我正在搜索是否有任何 python 等同于执行确切的操作。
有什么建议吗??
我认为暂时不用担心移植此行,因为在每 print
之后刷新 stdout 可能是您最不担心的移植问题。
但如果是,你有很多选择:
- 只需将
flush=True
关键字参数添加到 print
函数调用即可。
- 运行 Python 在 "unbuffered" mode with the
-u
switch.
- 以无缓冲模式重新打开stdout(例如最后的
0
):
sys.stdout = os.fdopen(sys.stdout.fileno(), 'w', 0)
- 编写一个
print
包装函数,隐藏内置 print
并刷新 stdout
- 编写一个
TextIOWrapper
对象来包装 sys.stdout
并刷新
我会尝试为其余的要点找到一些链接并进行编辑。
您好,我是 Perl 和 CGI 的新手。
我正在尝试将 perl 脚本转换为 python。
脚本中提到了$|=1。我的理解是它清除了缓冲区。
我正在搜索是否有任何 python 等同于执行确切的操作。
有什么建议吗??
我认为暂时不用担心移植此行,因为在每 print
之后刷新 stdout 可能是您最不担心的移植问题。
但如果是,你有很多选择:
- 只需将
flush=True
关键字参数添加到print
函数调用即可。 - 运行 Python 在 "unbuffered" mode with the
-u
switch. - 以无缓冲模式重新打开stdout(例如最后的
0
):sys.stdout = os.fdopen(sys.stdout.fileno(), 'w', 0)
- 编写一个
print
包装函数,隐藏内置print
并刷新 stdout - 编写一个
TextIOWrapper
对象来包装sys.stdout
并刷新
我会尝试为其余的要点找到一些链接并进行编辑。