Python将回车符视为换行符。我该怎么办?

时间:2019-07-02 13:07:55

标签: python python-3.x time newline carriage-return

我想编写一个打印Loading,然后将其擦除并打印Loading.,也将其擦除并打印Loading..的代码,依此类推。因此,我尝试使用\r,但是python将其解释为\n。有没有可以代替\r的字符?

我尝试改用\b,但是Python也无法识别它。例如,如果我打印qwerty\buiop,它只会打印qwertyuiop

这是我尝试使用回车符的代码:

import time
for y in range (5):
        for i in range (4):
                print("Loading","."*i, end="\r")
                time.sleep(0.5)

但是,它没有像我想要的那样打印,而是像

加载

正在加载。

正在加载..

正在加载...

在不同的行。

如何解决此问题?我可以使用其他字符吗?

我正在使用IDLE和MacOS。

非常感谢您!

2 个答案:

答案 0 :(得分:1)

尝试在终端中运行程序。

不同的外壳以不同的方式解释\ r字符。他们中的许多人会将每张打印品写为单独的输出,而不是一个连续的流。终端应按照您的思维方式进行解释

答案 1 :(得分:1)

我知道您现在可能已经知道答案了,但对于仍在寻找答案的人来说

尝试使用空的结尾,同时在每张打印的开头使用\ r覆盖前一张。

import time
for i in range (4):
  print("\rLoading","."*i, end ="")
  time.sleep(0.5)