删除一些最后打印的字符/更新最近的打印[Python 3.7.3]

时间:2019-05-23 18:46:55

标签: python-3.x

对此进行了很多搜索,但是在Python 3.7.3 Shell中不起作用。

还有很多类似的问题(例如Remove and Replace Printed items指的是8岁的Python版本),他们使用控制字符\r\b成功地解决了问题。但就我而言,我无法解决问题。

我希望有一个类似amount: x/y的输出(其中x当前位置,y是字符串或列表的长度),该输出在每次迭代时都进行更新,即部分x/y必须是删除并且必须写入部分x+1/y,同时保留字符串amount:

到目前为止我尝试过的事情

(1)

import sys
import time
word='simple'
for i in range(len(word)):
    if i+1 < 10:
        print('amount: '+'0'+str(i+1)+'/'+str(len(word)+1), end='\r')
    else:
        print('amount: '+str(i+1)+'/'+str(len(word)+1), end='\r')
    time.sleep(0.5)

输出

enter image description here

(2)

import sys
import time
word='simple'
for i in range(len(word)):
    if i+1 < 10:
        sys.stdout.write('amount: '+'0'+str(i+1)+'/'+str(len(word)))
    else:
        sys.stdout.write('amount: '+str(i+1)+'/'+str(len(word)))
    sys.stdout.write("\b \b")
    time.sleep(0.5)

输出

enter image description here

0 个答案:

没有答案