【发布时间】:2019-08-30 22:38:22
【问题描述】:
ANSI 代码无法在我的 python 解释器上运行
我想为我的项目上的一些照片上色。我查看了如何为打印字符着色并找到了 ANSI 转义码,所以我在解释器上尝试了它,但它不起作用。
例如:
print("\033[32m Hello")
它给了我<-[32m Hello(一个左箭头符号)。
我如何使它工作?它可以在python的解释器上工作吗?如果没有,我应该在哪里使用它?
【问题讨论】:
-
我无法重现这个。当我将
print("\033[32m Hello")放入文件test.py并在我的Unix 终端中运行python2 test.py或python3 test.py时,我得到Hello以绿色书写。我看到\033在 CP437 中是左箭头。您是否尝试在 Windows 上执行此操作?您是否已经手动安装了解释 ANSI 转义所需的 Windows 软件? -
可能是你的终端应用不支持吧?你用的是什么终端应用?
-
Python 解释器与 ANSI 转义序列无关。听起来您使用的是 Windows,因此您需要安装一些使 WIndows 控制台支持它们的东西。
-
@martineau shell 不在应用程序和终端之间的 I/O 路径中。
-
@martineau 实际上内置终端(或 Windows 术语中的“控制台”)不是由
cmd.exe提供的,而是由控制台主机 (conhost.exe) 和 ClientServer 运行时系统服务 (csrss.exe)。见howtogeek.com/howto/4996/…
标签: python ansi-escape