如何从EDK II Python获取彩色终端输出

时间:2019-03-08 14:14:45

标签: python-2.7 uefi

在UEFI-Shell(仅支持Python 2.7)中,我运行了一个python脚本,该脚本同时将日志消息写入日志文件和stdout。

logging.StreamHandler(sys.stdout)

由于我想使用无头外壳,我通过UART将标准输出重定向到终端(VT100 +)。 这是通过(使用已编译的默认vt100 +设置)完成的:

load TerminalDxe.efi

现在,我想在终端(putty)上获得彩色输出。因此,我将这些行放在其他行中:

COLOR_WARNING = '\033[93m' 
COLOR_ENDC = '\033[0m'
logging.addLevelName( logging.WARNING, COLOR_WARNING + "WARNUNG" + COLOR_ENDC)
...
LOGGER.warning("")

但是不幸的是,在我的终端机中我只能看到:

^[[93mWARNUNG^[[0m

如前所述,我也将日志消息写入文件中。如果我确实将此文件打印到终端(不带Python的UEFI shell)中,

type logfile.log

我在终端中得到了预期的结果: enter image description here

因此该序列运行正常。但是,当输出来自python脚本时则不会。我只用print()或sys.stdout.write()尝试了一下,但还没有成功。

0 个答案:

没有答案