1

我正在尝试重新定义 Python3 中的内置打印函数,以将 flush 关键字参数默认设置为 True。类似于以下内容(这实际上不起作用):

def print(message):
    print(message, flush=True)

或者,是否有另一种方法可以将 flush 关键字默认设置为 True? 任何帮助是极大的赞赏。


背景资料:

我之所以要这样做,是因为它解决了我遇到的另一个问题。我在 Jupyther Notebook 中使用 Python3 遇到了打印功能问题。当我同时使用 print() 和 input() 时,执行顺序随意改变:有时打印输出出现在输入提示之前,有时顺序颠倒。以下代码在多次运行时会产生两个不同的输出。

print("1")
x = input("2")
print("3")

因为我的信誉评分不允许我在这个问题中包含图像,所以这里是两个结果的链接: 输出版本 1输出版本 2。这似乎是与 print 函数的标准输出缓冲相关的已知问题,解决方案是使用 print() 并将 flush 关键字参数设置为 True: print("somestring",flush=True)。这将立即运行打印输出而不进行缓冲,从而保留输出的预期顺序。

4

0 回答 0