我希望在命令行中让*
以1秒的间隔闪烁。
import time
from sys import stdout
while True:
stdout.write(' *')
time.sleep(.5)
stdout.write('\r ')
time.sleep(.5)
我所看到的只有一条空白行,没有闪烁的 *
。
这是为什么呢?
我希望在命令行中让*
以1秒的间隔闪烁。
import time
from sys import stdout
while True:
stdout.write(' *')
time.sleep(.5)
stdout.write('\r ')
time.sleep(.5)
我所看到的只有一条空白行,没有闪烁的 *
。
这是为什么呢?
请看这个代码。它会每0.5秒打印一个*
,并且持续显示0.5秒(就像闪烁一样)。
import time
while True:
print('*', flush=True, end='\r')
time.sleep(0.5)
print(' ', flush=True, end='\r')
time.sleep(0.5)
请注意,这在IDLE中不起作用,但在cmd中可以正常工作。
不使用两个print语句,您可以这样做:
import time
i = '*'
while True:
print('{}\r'.format(i), end='')
i = ' ' if i=='*' else '*'
time.sleep(0.5)
import time
while True:
print('*', end="\r")
time.sleep(.5)
print(' ', end="\r")
time.sleep(.5)