Python - 清除某些行的命令提示符?

时间:2015-08-27 23:46:13

标签: python windows command-prompt

我在python中有一个脚本,它打印一个列表,如下所示:

list_of_lists = [["a", "b", "c", "d"],
                 ["a", "b", "c", "d"],
                 ["a", "b", "c", "d"]]

def print_lists_of_lists(list_of_lists):
    for list in list_of_lists:
        print()
        for char in list:
            print(char, end = "")

使用此函数,我得到一个如下所示的输出:

abcd
abcd
abcd

输入会更改这些列表的内容。每次用户输入时,我都会清除命令提示符,然后重新打印列表。这样可以正常工作,但是如果用户对输入进行了垃圾邮件,那么屏幕就会闪烁"闪烁"由于打印过程无法跟上输入。

我对解决方案的想法是转到命令提示符中的特定行,其中列表的内容已更改...

abcd
abcc #So from here down is cleared and reprinted
abcd #because the d at the end of the line changed to a c

...从该行清除屏幕,然后从同一行重新打印列表。这样,只有部分屏幕发生变化,导致闪烁较少。

但我不知道该怎么做。我已经尝试过ansi代码移动光标,查看了windows的curses实现,但我似乎无法找到任何方法来执行此操作。有什么想法吗?

先谢谢。

编辑:在伪代码中,这就是我所拥有的:

虽然是真的:        clear_screen        print_screen        wait_for_keypress

因此,如果用户按下某个键,则此循环速度非常快,使屏幕闪烁"闪烁等等。

0 个答案:

没有答案