擅长:python、mysql、java
<p>您可以通过使用足够的空格来实现这一点,这些空格看起来像一个新行,但实际上不使用换行符。然后使用退格字符<code>\b</code>将光标移回行的开头并覆盖您编写的所有内容。你知道吗</p>
<p>我对您的示例进行了一些扩展,使其成为一个可运行的脚本,方法是在其中抛出一个sleep并手动递增<code>prog</code>。你知道吗</p>
<pre><code>import sys
from time import sleep
import os
# Get the number of columns in the terminal
rows, columns = os.popen('stty size', 'r').read().split()
columns = int(columns)
mylist = ['name1', 'name2', 'name3','name4']
prog = 0
for name in mylist:
prog += 10
bar = '[%-66s] %d%%' % ('#'*prog, (prog*1.51515151515))
spaces_left = columns-len(bar)
sys.stdout.write(bar+(" "*spaces_left)+name+('\b'*(len(name) + columns)))
sys.stdout.flush()
sleep(.5)
</code></pre>