python如何使用sys.stdout输出原地不动的跳动数字?

liangyz
  • 26

def bar():

i = 0
while i < 100:
    i += 1
    time.sleep(1)
    sys.stdout.write(str(i) + '\b'*2)
    #sys.stdout.write(' \b')
    sys.stdout.flush()
    #此代码输出后是光标不断往前走的效果..
回复
阅读 4k
3 个回答

我才你想要的是 '\r' —— '\r' 的作用是 “回到行首”


import sys
import time

def bar():
    i = 0
    while i < 100:
        i += 1
        time.sleep(1)
        sys.stdout.write(str(i) + '\r')

bar()

所有语言的类似需求都是\r,可以用来实现进度条效果

<script>alert('ok')</script>

宣传栏