如何隐藏已在Python中打印的内容

如何隐藏已在Python中打印的内容,python,Python,我目前正在做一个记忆游戏,我打印一些单词,经过一段时间后,单词被洗牌,然后一个单词被删除并替换为一个新单词。然后我会让用户回答哪个词被删除了,哪个词替换了那个词。例如,它将打印: CAT DOG MOUSE HORSE 10秒后,我希望这些单词被隐藏,被洗牌,用一个新词替换一个单词,这样它就能打印出来,例如: DOG HORSE RABBIT CAT 我知道我可以使用time.sleep()让程序暂停执行任何其他代码 将第一组单词“取消打印”然后打印新单词会更容易吗?或者将第一组打印的单词替

我目前正在做一个记忆游戏,我打印一些单词,经过一段时间后,单词被洗牌,然后一个单词被删除并替换为一个新单词。然后我会让用户回答哪个词被删除了,哪个词替换了那个词。例如,它将打印:

CAT DOG MOUSE HORSE
10秒后,我希望这些单词被隐藏,被洗牌,用一个新词替换一个单词,这样它就能打印出来,例如:

DOG HORSE RABBIT CAT
我知道我可以使用
time.sleep()
让程序暂停执行任何其他代码


将第一组单词“取消打印”然后打印新单词会更容易吗?或者将第一组打印的单词替换为新单词会更容易吗?

您需要使用一个可以写入屏幕坐标的库。我已经编写了doscmd screen包来执行此操作(),其工作原理如下:

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。

如果您在终端上操作,则可以使用操作系统('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')

你不能。一旦有东西被打印到控制台上,它就永远在那里了。如果您愿意进行简单的GUI编程,那么您可以这样做。您可以使用诅咒(如果您有Windows,也可以使用一些诅咒)。在Windows上,您可以用“\r”而不是“\n”sys.stdout.write(“…\r”%(变量)sys.stdout.flush()终止格式字符串@Zizouz212不是这样的。你可以返回到行的开头并覆盖复制:谢谢:-)大部分繁重的工作都是由colorama完成的,我刚刚添加了从各种系统调用中获取屏幕信息的功能。。它很小,做简单的事情很方便。看起来很复杂:)但是谢谢你。它实际上是在说“没有名为screen的模块”我需要下载或安装什么东西吗?(我已导入屏幕)是的,您需要按照文档中的安装说明(在我的回答中链接到)进行操作,基本上
pip install doscmd screen
。您是否只需在我的代码中键入“pip install doscmd screen”?因为如果是这样,它会说“install”是一个语法错误