【问题标题】:Not able to print in color on terminal无法在终端上进行彩色打印
【发布时间】:2018-04-17 16:47:35
【问题描述】:

正如Print in terminal with colors using Python? 的回答中所给出的,我正在尝试使用以下代码在控制台/终端上进行彩色打印:

RED = "\e[31m"
NORMAL = "\e[0m"

print("TESTING")
print(RED+"TESTING"+NORMAL)
print("TESTING")

但是,它不起作用,只给出以下输出:

TESTING
\e[31mTESTING\e[0m      # IN BLACK, THOUGH IT IS SHOWING COLOR HERE.
TESTING

问题出在哪里,如何解决?我在 Debian Stable Linux 上使用 Python 3.5.3 版。

【问题讨论】:

  • \e 不是启用颜色的正确转义序列。您是否正确阅读了答案?
  • 我指的是@IgorSarcevic 的回答并使用脚本中的上述代码。
  • 那个使用\e的单一答案是错误的。 \e 是不同 shell 中的转义序列,而不是 Python 中的转义序列。我对此发表了评论,说明它是如何错误的;答案甚至在 bash 中都不起作用。
  • 您的问题链接到整个问题,而不是特定答案,我必须搜索它(它只在按投票排序时出现在第 2 页上)。

标签: python python-3.x colors terminal console


【解决方案1】:

你找到了错误的答案; \e 在 Python 中不是有效的转义序列。在某些echo 实现中,\e 是ASCII ESC character 的转义序列,但在Python 中您需要使用不同的表示法。

该页面上的其余答案使用正确的形式,\x1b 或 \033。

【讨论】:

    猜你喜欢
    • 2019-12-09
    • 1970-01-01
    • 2018-03-01
    • 2010-09-22
    • 1970-01-01
    • 2017-07-17
    • 1970-01-01
    • 2020-02-03
    • 1970-01-01
    相关资源
    最近更新 更多