如何摆脱框架眨眼'标准库的效果?

时间:2014-04-28 11:12:03

标签: python windows python-3.x command-line prompt

我目前正在玩一些cmd /提示动画/图片:

import os
import time

def printFrame(timeout, count):
    os.system('cls')
    l=0
    while True:
        for k in range(0,9):
            for i in range(0,9):
                for j in range(0,9):
                    if j == k and i != 4:
                        print("|", end="", flush=True)
                    elif j !=k and i == 4:
                        print("-", end="", flush=True)
                    elif j ==k and i == 4:
                        print("+", end="", flush=True)
                    else:
                        print("O", end="", flush=True)
                print("")
            time.sleep(timeout)
            os.system('cls')
        l += 1
        if l > count:
            break

if __name__ == "__main__":
    printFrame(0.08, 2)

我希望摆脱框架闪烁 - 特别是在第一行可见,我的想法是使用第二个打印线程:

def printFrame(timeout, count):
#print from example1

def printFrameTwo(timeout, count):
#print from example1 without os.system('cls')

if __name__ == "__main__":
    p1 = threading.Thread(target = printFrame, args = (0.08, 2))
    p2 = threading.Thread(target = printFrameTwo, args = (0.08, 2))
    p1.start()
    p2.start()

但效果相当令人失望 - 同步和第一线的问题仍然非常眨眼,第二个想法是使用预定义的框架' - 但它不是很有教育意义 - 这里的奖励是我可以一次打印整行,但仍然没有预期效果,第三(最有前途)的想法是只改变必要的像素' / chars in框架 - 但在这里我需要在线之间移动框架!并且curses不能在windows上工作(至少不是标准的)。你可能有一些想法如何咬它? (windows,标准库)也许如何加快' os.system(' cls')'?

0 个答案:

没有答案