Python 循环在 Window 的解释器中不断停止

我在 Windows 中使用默认的 Python 3.8 解释器。


每当我在其中运行一个长循环时,它就会停止,我必须按下或按住 Enter 键才能继续运行。这在 Linux 中从来都不是问题。


如何解决此问题?


# this loop will eventually stop/hang/pause forever, until I press the Enter key

for i in range(5000):

   time.sleep(1)

   print(i)

如果我通过任何 IDE 运行代码,它不会暂停。但出于我自己的原因,我想直接在解释器中运行这段特定的代码。


我等了 1 分钟多才继续截屏。这不是一次性的问题。我运行的任何循环,无论大小或复杂程度如何,都会在几次迭代后永久停止,直到我按下键盘上的 ENTER 键。

胡说叔叔
浏览 121回答 3
3回答

FFIVE

如果您单击输出,控制台将暂停脚本,它将尝试停止代码以“选择”输出的一部分。试试吧,不要点击它。ENTER 将从控制台上的选择栏中移除焦点,因此您将看到它不再存在。

狐的传说

您展示的程序实际上什么都不做。它不会打印任何内容到控制台,也不会等待输入。所以它实际上会运行 83 分钟,没有显示它正在做任何事情,然后它会以退出代码 0 退出。

陪伴而非守候

我猜你遇到了什么。当然,程序会继续运行,只是你没有看到输出,因为输出是缓冲的,你没有刷新它。因此,在每个之后print(i),调用函数flush_output_streams():def flush_output_streams() -> None:    """    flushes the output streams.    flush calls are wrapped in try ... except, because     standard streams might be replaced with other streams which     dont have the flush method.    """    try:        sys.stdout.flush()    except Exception:        pass    try:        sys.stderr.flush()    except Exception:        pass
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python