import termcolor2
import colorama
colorama.init()
myText = input("Type a text : ")
color = input("What color you want? : ")
print(termcolor2.colored(myText, color))
class bcolors:
HEADER = '\033[95m'
OKBLUE = '\033[94m'
OKCYAN = '\033[96m'
OKGREEN = '\033[92m'
WARNING = '\033[93m'
FAIL = '\033[91m'
ENDC = '\033[0m'
BOLD = '\033[1m'
UNDERLINE = '\033[4m'
def c_print(color, text):
if color == "green":
return print(bcolors.OKGREEN + text + bcolors.ENDC)
if color == "cyan":
return print(bcolors.OKCYAN + text + bcolors.ENDC)
if color == "blue":
return print(bcolors.OKBLUE + text + bcolors.ENDC)
line = f"{bcolors.OKCYAN}It will wish you on every start up{bcolors.ENDC}"
c_print("cyan", line)
def print_in_color(txt_msg,fore_tupple,back_tupple,):
#prints the text_msg in the foreground color specified by fore_tupple with the background specified by back_tupple
#text_msg is the text, fore_tupple is foregroud color tupple (r,g,b), back_tupple is background tupple (r,g,b)
rf,gf,bf=fore_tupple
rb,gb,bb=back_tupple
msg='{0}' + txt_msg
mat='\33[38;2;' + str(rf) +';' + str(gf) + ';' + str(bf) + ';48;2;' + str(rb) + ';' +str(gb) + ';' + str(bb) +'m'
print(msg .format(mat))
print('\33[0m') # returns default print color to back to black
# example of use using a message with variables
fore_color='cyan'
back_color='dark green'
msg='foreground color is {0} and the background color is {1}'.format(fore_color, back_color)
print_in_color(msg, (0,255,255),(0,127,127))
9条答案
按热度按时间8ehkhllq1#
要使termcolor中使用的ANSI颜色在windows终端中工作,还需要导入/init
colorama
;yqhsw0fo2#
windows命令提示符使用命令更改终端输出颜色。你可以执行命令“color color-code”来立即改变颜色。只需使用命令 color 即可激活此颜色功能。
简而言之..为了让你的脚本工作,在脚本的开头运行这个。
nkoocmlb3#
在termcolor2模块中,您必须键入以下内容:
就这样...
zbwhf8kr4#
做了工作:
在导入termcolor之前插入:
没有工作:
1.导入colorama(没有)修复问题-仍然显示字符
1.导入/使用termcolor 2(没有)修复问题-仍然显示
人物
1.导入colorama AND termcolor 2 AND termcolor(didn 't)修复问题。
无法解释为什么它的工作,只有我能够比较一个脚本的颜色工作正确,一个没有工作正确。
v09wglhw5#
一个非常简单的解决方案是创建一个定义颜色的类并在函数中使用它,您不必导入任何模块,只需复制并粘贴它:
Image showing the color in cmd
kwvwclae6#
这里有一个简单的函数,我发现有用的彩色打印。您不需要进行任何导入,也不必记住复杂的ANSI代码。该函数使用标准的RGB元组来定义前景色和背景色。
smdnsysy7#
在现代Windows系统中,控制台主机窗口应具有ENABLE_VIRTUAL_TERMINAL_PROCESSING模式,以正确处理ANSI颜色序列。
没有外部依赖,纯WinAPI(通过ctypes):
vql8enpb8#
添加以下内容以使termcolor也能在Windows中工作:
在StackOverflow上找到的所有问题和答案似乎都是专门针对Windows的,但我确实想补充一点,为Linux制作的应用程序也可能想这样做。如果您需要将程序的输出通过管道从Linux命令行传输到一个新文件中(例如
python3 myprogram.py > output.txt
),您可能会在该文件中看到奇怪的控制字符!这通常是不可取的,特别是在系统管理员正在使用的日志文件中。上面的代码片段为我在Ubuntu上修复了这个问题。c90pui9n9#
如果先清除屏幕,这对linux和windows都有效。