我目前正在使用 python 2.7,我在编写这个想法时遇到了一些麻烦。我知道在 python 2.7 中使用 colorama 或 termcolor 等库在终端中为文本着色很容易,但这些方法在我尝试使用的方式中并不完全有效。
你看,我正在尝试创建一个基于文本的冒险游戏,它不仅具有彩色文本,而且在这样做时还提供快速打字机风格的效果。我有打字机效果,但是每当我尝试将它与着色库集成时,代码都会失败,给我原始的 ASCII 字符而不是实际的颜色。
import sys
from time import sleep
from colorama import init, Fore
init()
def tprint(words):
for char in words:
sleep(0.015)
sys.stdout.write(char)
sys.stdout.flush()
tprint(Fore.RED = "This is just a color test.")
如果您运行代码,您会看到打字机效果有效,但颜色效果无效。有什么方法可以将颜色“嵌入”到文本中,以便 sys.stdout.write 显示颜色?
谢谢你
编辑
我想我可能找到了一种解决方法,但是用这种方法改变单个单词的颜色有点痛苦。显然,如果在调用 tprint 函数之前使用 colorama 设置 ASCII 颜色,它将以最后设置的颜色打印。
这是示例代码:
print(Fore.RED)
tprint("This is some example Text.")
我希望对我的代码有任何反馈/改进,因为我真的很想找到一种在 tprint 函数中调用 Fore 库而不会导致 ASCII 错误的方法。