Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/285.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ANSI转义代码在python解释器上不起作用_Python_Ansi Escape - Fatal编程技术网

ANSI转义代码在python解释器上不起作用

ANSI转义代码在python解释器上不起作用,python,ansi-escape,Python,Ansi Escape,ANSI代码在我的python解释器上不起作用 我想给这个项目的一些照片上色。我查了一下如何给打印的字符上色,找到了ANSI转义码,所以我在解释器上试了一下,但不起作用 例如: print("\033[32m Hello") 它给我提供了您最好安装其他软件包来帮助生成ANSI序列,iirc win32控制台ANSI颜色。一种选择是安装。以下代码段打印出红色文本 import colorama from colorama import Fore, Back, Style colorama.ini

ANSI代码在我的python解释器上不起作用

我想给这个项目的一些照片上色。我查了一下如何给打印的字符上色,找到了ANSI转义码,所以我在解释器上试了一下,但不起作用

例如:

print("\033[32m Hello")

它给我提供了
您最好安装其他软件包来帮助生成ANSI序列,iirc win32控制台ANSI颜色。一种选择是安装。以下代码段打印出红色文本

import colorama
from colorama import Fore, Back, Style
colorama.init()
print(Fore.RED + 'This is red')
编辑:经过进一步研究,我意识到Windows10支持ANSI转义序列,您可以通过调用。如果要进行复制和粘贴,请使用

import os
os.system("echo [31mThis is red[0m")

不过,我还是喜欢前者。

您可以使用IDLE。。。在这种情况下,你不能有ANSI颜色;空闲的“终端”不是真正的终端,因此ANSI代码将显示为字符,无论您键入
chr(0x1B)
\033
\x1b
;都一样

你的箭头字符是正常的;我只是得到一个框,因为我猜默认字体不支持左箭头


但是另一个人的解释可能是正确的。。。除非您使用的是IDLE,因为在这种情况下,这肯定是问题所在。

我无法重现这一点。当我把
print(“\033[32m Hello”)
在Unix终端中运行
python2 test.py
python3 test.py
文件
test.py
,我得到了绿色的
Hello
。但我看到
\033
在CP437中是左箭头。您是否尝试在Windows上执行此操作?您是否已经手动安装了解释ANSI所需的Windows软件转义?可能是您的终端应用程序不支持转义?您使用的终端应用程序是什么?Python解释器与ANSI转义序列无关。听起来您使用的是Windows,所以您需要安装一些使Windows控制台支持转义的东西。@martineau外壳不在应用程序和te之间的I/O路径中终端。@martineau实际上,内置终端(或Windows术语中的“控制台”)不是由
cmd.exe
提供的,而是由控制台主机(
conhost.exe
)和ClientServer运行时系统服务(
csrss.exe
)的组合提供的。请参阅