如何隐藏已用Python打印的内容

时间:2015-03-22 16:27:51

标签: python

我正在制作记忆游戏,在那里我打印几个单词,在给定时间后,单词被洗牌,然后删除一个单词并替换为新单词。然后我会让用户回答哪个单词已被删除,哪个单词已替换该单词。例如,它将打印:

CAT DOG MOUSE HORSE

在10秒之后,我希望隐藏这些单词,然后将其改为用一个新单词替换一个单词,以便打印出来,例如:

DOG HORSE RABBIT CAT

我知道我可以使用time.sleep()来暂停任何其他代码的执行。

基本上“取消打印”第一组单词然后打印新单词或替换第一组打印的单词与新单词会更容易吗?

我很新,很抱歉,如果无法做到这一点。

2 个答案:

答案 0 :(得分:2)

您需要使用一个可以写入屏幕坐标的库。我已经编写了doscmd-screen软件包来执行此操作(http://doscmd-screen.readthedocs.org/),它的工作方式如下:

import screen, time
scr = screen.Screen()
scr.writexy(scr.left, scr.top, "CAT DOG MOUSE HORSE")
time.sleep(10)
scr.writexy(scr.left, scr.top, " " * scr.width)

注意:该软件包最初仅用于dos,但现在也支持* nix。

答案 1 :(得分:0)

如果您在终端上操作,则可以按以下方式使用os.system('clear')

import os
import time

# first statement
print('CAT DOG MOUSE HORSE')

# wait then clear
time.sleep(10)
os.system('clear')

#second statement
print('DOG HORSE RABBIT CAT')