我需要帮助改变python中文本的颜色

时间:2015-04-13 03:14:42

标签: python

嘿,我需要帮助在我正在制作的程序中着色文本。这是一个密码程序,我试图在它们出现时使拒绝并授予红色和绿色。这是迄今为止的计划:

password = {"joseph":"jesus"}

print ("Welcome")
username = input("Please enter your username: ")
if username in password:
    print ("Granted.")
    mypassword = input ("Please enter your password: ")
    if mypassword == password[username]:
        print ("Granted.")
        answer = input("Do you like it? ")
        if answer == ("yes"):
            print ("I thought you would.")
        elif answer == ("no"):
            print ("I guess I could do better.")
        else:
            print ("Error!")
    else:
        print ("Denied!!!")
else:
    print ("Denied!!!")

input("Press enter to quit")

2 个答案:

答案 0 :(得分:2)

inputprint函数使用的Python标准输入和输出只是纯文本。它可以输出到Unix终端或Windows控制台,IDE中的窗口或文本文件。纯文本没有颜色。

然而,几乎所有的现代终端和游戏机都有办法改变颜色。几乎所有人都使用特殊的控制序列 - 不可见的文本,这意味着"切换到红色"或者"切换回默认颜色" - 并且它们是大多数使用的控制序列的公共子集。

如果你想了解ANSI/VT100/etc. control sequences,以及如何使用termcap为几乎任何平台动态查找正确的序列,但Windows(在Windows上你只是假设ANSI),你可以。但是有一个更简单的解决方案:PyPI上有大量的模块可以为您提供全部功能。我不能推荐其中哪一个是最好的,但第一个出现在搜索中的是ansicolors,您可以这样使用:

>>> from colors import red, blue
>>> print('Some of these words are ' + red('red') + ' and ' + blue('blue'))
Some of these words are red and blue

但希望在您的控制台上,“红色"和"蓝"将被适当地着色,如下:

screenshot

答案 1 :(得分:1)

from termcolor import *
cprint('this text will be red','red')

这应该有效