这个打印(''* len(msg),end ='')调用是做什么的?

时间:2018-03-11 12:32:55

标签: python

我正在使用一本书学习Python。但是有一个我不明白的示例代码:

from time import sleep

for i in range(100):
    msg = '\rProgress %d%%' %(i+1)
    print(' '*len(msg), end='') #I don't understand this statement.
    print(msg, end='')
    sleep(0.1)

实际上,我评论了这个陈述,我得到了同样的结果。 为什么我需要这个陈述?

1 个答案:

答案 0 :(得分:1)

打算打印一系列空格,以确保清除上一行行。

这个特定情况中,这种情况永远不会发生,因为打印的信息只会变长(从0%变为99%)。此外,空格的数量基于新消息,如果前一条消息较长,则太短

所以不,这里不需要,你在书中发现了一个错误。