我正在将一个我无缘无故编写的 C++ 程序移植到 Python 3。有一个使用 spin() 函数的 spinner() 函数。这些在程序顶部显示一个横幅。但是,由于某种原因我无法弄清楚,spin() 函数在被调用之前正在执行。sleep(1) 也在被调用之前被执行。我无法弄清楚为什么在被调用之前执行这些。它当前先执行 sleep() 函数,然后在调用之前执行 spin() 函数。它们不应该在显示第一个数组项之后执行。
我曾尝试将 spin() 和 sleep() 函数放在不同的位置,以尝试解决从何处调用它的问题,但这样做会破坏当前的功能。
import time
import sys
def spin():
spinner = ['/', '-', '\\', '|', '']
for i in spinner:
sys.stdout.write(i)
time.sleep(1)
sys.stdout.write("\b")
sys.stdout.flush()
def spinner():
text = "\tVigenere Cipher\n"
textArray = list(text)
for i in range(len(textArray)):
for x in range(i):
sys.stdout.write(textArray[x])
spin()
sys.stdout.write("\r")
sys.stdout.flush()
spinner()
我希望它从 textArray 打印一个字符,显示微调器,打印下一个字符,显示微调器等。
实际结果是它先休眠,打印微调器,然后打印第一个字符。
慕少森
相关分类