我正在寻找在终端中旋转光标的代码并找到了这个。我想知道代码中发生了什么。特别是for c in spinning_cursor():
我从未见过这种语法。是不是因为我一次从生成器返回一个元素yield
,并且分配给 c?在 y() 中使用 x 的任何其他示例?
import sys
import time
def spinning_cursor():
cursor='/-\|'
i = 0
while 1:
yield cursor[i]
i = (i + 1) % len(cursor)
for c in spinning_cursor():
sys.stdout.write(c)
sys.stdout.flush()
time.sleep(0.1)
sys.stdout.write('\b')