当字符串的长度发生变化时,如何打印有关脚本进度的简单信息,回车符,同时防止字符串重叠?请参阅此简单示例
import sys
import time
fewds = ["raspberry", "orange", "pineapple", "fig", "honeysuckle"]
for f in fewds:
sys.stdout.write(f+"r")
sys.stdout.flush()
time.sleep(0.5)
您可以跟踪打印的最后一行的长度,并使用str.ljust 将必要的空格添加到下一行,以便完全覆盖上一行。
str.ljust(width[, fillchar])
返回在 长度宽度的字符串。填充是使用指定的填充字符完成的 (默认值为 ASCII 空格)。如果宽度,则返回原始字符串 小于或等于镜头。
因此,您的代码将是:
import sys
import time
fewds = ["raspberry", "orange", "pineapple", "fig", "honeysuckle"]
last_length = 0
for f in fewds:
sys.stdout.write(f.ljust(last_length) + "r")
sys.stdout.flush()
time.sleep(0.5)
last_length = len(f)