Python 用颜色替换() 字符串?

Python replace() string with color?

我正在制作一个 Python 语法荧光笔,基本上它的作用是用相同字符串的彩色版本替换输入字符串中的关键字。这是我的代码示例(整个程序基本上只是复制+粘贴这段代码)

from colorama import Fore
def highlight(text):
  text = text.replace("print", "{}print{}".format(Fore.BLUE, Fore.RESET))
print(text)

但是当我尝试使用以下代码时:

highlight("print hello world")

(注意:我没有放括号,因为这只是一个测试)它只是以默认颜色打印 print hello world。我该如何解决这个问题?

您必须 return 更新文本。 python 中的字符串不可更改,因此如果您更改某些字符串,它不会在内部更改,它将是一个新字符串。

from colorama import Fore

def highlight(text):
    return text.replace("print", "{}print{}".format(Fore.BLUE, Fore.RESET))

text = highlight("print hello world")
print(text)

你总是可以使用 CLINT。

from clint.textui import puts, colored
puts(colored.red('Text in Red')) 
#Text in Red

更容易使用..

https://clint-notes.readthedocs.io/en/latest/howto.html