【问题标题】:sys.stdout.flush() won't worksys.stdout.flush() 不起作用
【发布时间】:2017-03-10 02:48:45
【问题描述】:
import sys
from graphics import *

win = GraphWin("test", 500, 500)
while True:
    pt = win.getMouse()
    print(pt.getX(), pt.getY())
    sys.stdout.flush()

我试图让代码同时将 X 和 Y 坐标返回到屏幕,但是在窗口中单击几次后得到的结果如下所示:

123 200

443 67

104

在我关闭窗口后,程序吐出最后一个“84”,然后读取:

123 200

443 67

104 84

但我希望它在我仍在窗口中单击新点时执行此操作。 有谁知道我做错了什么。

【问题讨论】:

  • 使用-u参数运行python是否有效?
  • @KlausD。我对'-u'不熟悉,我对python真的很陌生。
  • 通常人们只是通过尝试来熟悉事物。运行python -u yourscript.py!
  • @KlausD。我对python很陌生,以至于当你这么说时我不知道你的意思。我在代码的开头输入吗?
  • docs.python.org/3/tutorial/… 其他部分也可能会有所帮助。

标签: python buffer flush sys


【解决方案1】:

已修复> 确切地说,我在老版本的 Wing IDE 5.0.9 中运行,所以我更新到 6.0.1 并且它工作正常。

注意:我的朋友使用的是 5.1.0 版本,他的版本也很好。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-06-12
    • 2020-10-25
    • 1970-01-01
    • 2012-04-18
    • 1970-01-01
    • 2017-01-03
    • 2021-11-27
    • 2016-03-13
    相关资源
    最近更新 更多