在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)