0

我一直在尝试将旋转光标作为我正在开发的游戏的一部分

t=1
while t<100:
    for i in ["/","-","|","\\","|"]:
        print "%s\r" % i
        sys.stdout.flush()
    t=t+1

这不能作为更大代码的一部分工作,而即使没有它也可以独立工作sys.stdout.flush()

这是怎么回事?我在 Windows 环境中使用 Python 2.7 和 Cygwin。

4

2 回答 2

2

print写入所需文本后向标准输出写入换行符。改为sys.stdout.write()

while t<100:
    for i in ["/","-","|","\\","|"]:
        sys.stdout.write("%s\r" % i)
        sys.stdout.flush()
    t=t+1
于 2013-10-18T07:44:49.093 回答
1

您可以尝试使用https://code.google.com/p/python-progressbar/(pip安装进度条)。它支持多种条形样式。对于简单的旋转光标,请尝试:

pbar = ProgressBar(widgets=['Working: ', AnimatedMarker()])
for i in pbar((i for i in range(50))):
    time.sleep(.08)

更多示例:https ://code.google.com/p/python-progressbar/source/browse/examples.py

于 2013-10-18T08:47:28.473 回答