删除上一行并用新行替换它?

时间:2017-02-06 19:43:48

标签: python python-2.7 printing sleep

我目前的代码如下:

for a in xrange (60, 0, -1):  
    b = "Sleeping for " + str(a) + " seconds\r"
    print b,
    sleep(1)

我唯一的问题是,当它从2位数字变为1位数字时,它会打印secondss而不是秒。当从2位数字变为1时,如何修改我的代码以正确替换该行。此外,在脚本完成后打印"睡眠__秒"我可以用一行代表"睡眠60秒完成"

3 个答案:

答案 0 :(得分:1)

您需要删除打印行中的逗号以查看打印输出

答案 1 :(得分:0)

如何使用字符串格式?

for a in xrange (60, 0, -1):  
    print "Sleeping for %2d seconds...\r" % a, 
    sleep(1)
print "Sleeping for 60 seconds complete!"

答案 2 :(得分:0)

你可以打印出一个等长的空格串来掩盖它:

Get-ChildItem -recurse big*.png | ForEach-Object {svn del $_}

您还可以向for a in xrange(60, 0, -1): out = "sleeping for {} seconds\r".format(a) sys.stdout.write(out) sys.stdout.flush() time.sleep(1) clear = " " * len(out) sys.stdout.write(clear + "\r") print "Done" 添加省略号来掩盖它:

out