在Python3中,使用ANSI转义码为print
的输出着色的标准命令似乎没有起作用
我相信这与最新版本的Python3所伴随的变化有关
我的系统:Python 3.7.3,Windows 10,空闲
尽管它在Python 2.7
上运行良好,但在Python 3.7
上它根本不起作用
print("\033[1;32;40m Bright Green \n")
处于空闲状态,如图所示article输出[1;32;40m Bright Green
。相反,这在提供彩色背景的在线Python 2
解析器上运行良好
发现在Python 3
上转义字符是\x1b
而不是\033
的更正。在print
语句中修改的表达式,例如空闲输出[1;32;40m Bright Green
中的print("\x1b[1;32;40m Bright Green \n")
,并且没有彩色背景
py
文件上运行print("\033[1;32;40m Bright Green \n")
仍然会输出[31;1;4mHello[0m
Python 3
解析器print("\033[1;32;40m Bright Green \n")
上运行,它给了我[1;32;40m Bright Green
李>ANSI转义码的使用主要是作为链接中的解决方案提供的
我做错了什么
根据您使用的是终端还是空闲,您需要使用不同的代码。对于终端,有很多方法可以做到这一点,但是对于空闲,下面是我找到的方法
使用
sys.stdout.shell.write(to_print, color)
,变量颜色为以下字符串之一您可以使用以下颜色:
python彩色库工作时没有任何问题。ANSI转义码不是那么平滑
在
pip install colored
之后,您可以在from colored import stylized
之后然后试试看-
print(stylize("This is green.", colored.fg("green")))
相关问题 更多 >
编程相关推荐