我正在学习一些教程,经过大量研究后,我无法弄清楚为什么给定的代码不能在同一行上打印。我直接复制了它,所以它应该可以工作。
import time
import sys
sys.stdout.write('29 seconds remaining')
time.sleep(1)
sys.stdout.write('\r28 seconds remaining')
输出是:
29 seconds remaining
28 seconds remaining
最终输出应为:
28 seconds remaining
答案 0 :(得分:0)
我把“\ r”放在行尾,而不是前面。像这样:
sys.stdout.write("%s[%s%s] %2i/%i\r" % (variables go here))
sys.stdout.flush()
答案 1 :(得分:0)
尝试出像我这样的设置似乎适用于其他人的解决方案后,我不得不找出输出打印字符串的shell解析回车序列的难点(如果不够精确,请在这里纠正我)。当我意识到Windows命令提示符(C:\ Windows \ System32 \ cmd.exe)实际上按预期解释了回车符时,我开始接近解决方案,但PyScripter IDE没有。然后我意识到PyScripter开发人员对此有了新的认识,但不想花费精力模仿cmd.exe的行为。
希望这会让开发人员朝着正确的方向前进并节省一些时间。