[英]Handling terminal colour codes ( ANSI colour escape codes ) in python
[英]Python fails to output ANSI color codes for the terminal
我有一个非常简单的 python +2.7 文件,其中包含以下代码(在终端中运行时)为两个字符串打印输出 ANSI 颜色代码。
# coding=utf8
class bcolors:
HEADER = '\033[95m'
OKBLUE = '\033[94m'
OKGREEN = '\033[92m'
WARNING = '\033[93m'
FAIL = '\033[91m'
ENDC = '\033[0m'
print "\033[95mWorks fine\033[0m"
print '\033[95mWorks fine\033[0m'
print bcolors.OKBLUE, "Fails to work", bcolors.ENDC
为什么第三个打印语句无法在终端中产生任何颜色? 关于使用 utf8 文件,我应该知道些什么?
系统:ubuntu 16.04
要解决您的问题,您只需要import os
并在代码开头添加os.system("")
。
这是一个有效的示例:
#!/usr/bin/python3
class ConsolePrint(object):
HEADER = '\033[95m'
OKBLUE = '\033[94m'
OKGREEN = '\033[92m'
WARNING = '\033[93m'
FAIL = '\033[91m'
ENDC = '\033[0m'
BOLD = '\033[1m'
UNDERLINE = '\033[4m'
def print_warning(self, msg):
print(self.WARNING + msg)
def print_error(self, msg):
print(self.FAIL + self.BOLD + msg)
def print_info(self, msg):
print(self.OKBLUE + msg)
if __name__ == "__main__":
cp = ConsolePrint()
cp.print_warning("WARNING print text {0}".format(100))
cp.print_error("ERROR print text {0}".format(200))
cp.print_info("INFO print text {0}".format(300))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.