在pythonshell上创建一个闪烁的忙指示灯
我想让在pythonshell上创建一个闪烁的忙指示灯,python,busyindicator,Python,Busyindicator,我想让*在命令行上每隔1秒闪烁一次 import time from sys import stdout while True: stdout.write(' *') time.sleep(.5) stdout.write('\r ') time.sleep(.5) 我得到的只是一个空行,没有闪烁的* 为什么会这样?看看这个。这将以0.5秒的间隔在一行上打印*,并显示0.5秒(按您的说法闪烁) 请注意,这在IDLE中不起作用,但在cmd中效果很好 不使用两条
*
在命令行上每隔1秒闪烁一次
import time
from sys import stdout
while True:
stdout.write(' *')
time.sleep(.5)
stdout.write('\r ')
time.sleep(.5)
我得到的只是一个空行,没有闪烁的*
为什么会这样?看看这个。这将以0.5秒的间隔在一行上打印
*
,并显示0.5秒(按您的说法闪烁)
请注意,这在IDLE中不起作用,但在cmd中效果很好
不使用两条打印语句,您可以通过以下方式执行:
import time
i = '*'
while True:
print('{}\r'.format(i), end='')
i = ' ' if i=='*' else '*'
time.sleep(0.5)
看看这里的讨论:
以下代码在Windows 10的空闲环境和命令行中工作:
你的程序对我来说很好。这一定是你的环境有问题。你在使用idle吗?为什么不使用print?不,我使用的是KDE终端“Konsole”,因为print总是在Windows上打印换行符prints REPLICATIONE*,end='\r'适合我
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)