\ r更新输出无法正常运行

时间:2020-02-19 21:19:11

标签: python-3.x windows

我正在尝试创建一个在更新上一个条目时在“正在加载”,“正在加载”,“正在加载..”,“正在加载...”和“正在加载....”之间切换的加载文本。 。我在网上发现了类似的情况,其中使用sys.stdout\r结束打印功能,但都没有运气

我正在使用的代码是:

import time 
tick = 0
while True:
    print("Loading" + "." * tick, end="\r")
    if tick < 4:
        tick += 1
        time.sleep(0.4)
    else:
        tick = 0

我得到的输出是:

LoadingLoading.Loading..Loading...Loading....LoadingLoading.Loading..Loading...

直到我强制退出执行。我还没有看到其他线程中提到的问题,但是如果有人知道是什么原因导致了该问题,我将非常感激。

1 个答案:

答案 0 :(得分:0)

根据您的平台,您需要回车符\r和换行符\n或仅换行符。通常,我发现您可以\r\n

还取决于是否要在“加载”之间清除整个屏幕,您可能必须调用系统调用(这因平台而异),才能在要打印的“加载”之间清除屏幕。这样就不需要调用\r\n了,因为每次打印时都会调用到一个新的控制台窗口。

您可以查看here的操作方法。