在控制台中正确打印\\\\ r

| 当我编写更新打印行的脚本时,例如:
for i in range(101):
    print(str(i) + \"% \\r\", end=\"\")
并使用终端(Ubuntu)运行此脚本,我得到正确的输出,该输出更新了该行:
100%
但是,在Eclipse中使用Pydev,Eclipse控制台可以做到这一点:
0%
1%
2%
...
100%
有人知道怎么修这个东西吗?提前致谢!     
已邀请:
这似乎是旧的CR LF问题。根据所使用的操作系统和控制台,CR和LF作为线路终端的解释会有所不同。 某些系统需要CRLF作为行尾。 一些系统仅需要LF,但是隐式地执行CR。 有些系统(如您的系统)在每个CR之前隐式地执行LF,尽管这是我第一次看到。 也许有一种方法可以编辑PyDev控制台的换行设置。 编辑:或者您可以使用ANSI转义码来移动光标。像CSInD左边的n个字符或CSInC右边的n个字符。     
这是因为无论何时使用\\ r,\'print \'总是生成新行,请尝试使用sys.stdout:
import time, sys

for i in range(101):
    sys.stdout.write(str(i) + \"% \\r\")
    sys.stdout.flush()
    time.sleep(.3)
    

要回复问题请先登录注册