【问题标题】:How to return colored text from a function?如何从函数返回彩色文本?
【发布时间】:2021-08-19 07:32:21
【问题描述】:

我想让我的函数返回语句输出为彩色(黑色除外)。但我在任何地方都找不到如何做到这一点。试图在字符串前面添加'\033[92m',但它只有在我print 字符串时才有效。不能作为我的 return 声明的一部分。

def function():
   string = '\033[92m colored word'
   print(string)
   return string
当我运行函数时,函数中的

print(string) 在我的 python 笔记本中显示我想要的颜色(green)。但是return 语句只显示 black 颜色字符串。

【问题讨论】:

  • 字符串没有颜色。它们只是符号。无论你用什么来显示字符串都可能有颜色,但是没有通用的标准。
  • return {string} 返回一个包含一个元素的set,即string 变量在函数中的值——换句话说,{'bla bla \033[92m colored word \033[0m bla bla'}
  • 如果我希望 return 语句中的字符串颜色为 print(string),这个问题的解决方案是什么? @martineau
  • 只返回嵌入颜色的字符串。如果这不起作用,那么还有其他事情正在发生——比如与 ipython 的 Notebook 冲突。

标签: python colors jupyter-notebook return-type


【解决方案1】:

你在 print() 上错了。

def function():
   string = f'bla bla \033[92m colored word \033[0m bla bla'
   print(string)
   return string
print(function())

如果你这样做:

def function():
   string = f'bla bla \033[92m colored word \033[0m bla bla'
   print(string)
   return string
function()

你可以看到:'bla bla \x1b[92m color word \x1b[0m bla bla'

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-04-06
    • 1970-01-01
    • 1970-01-01
    • 2017-11-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-08
    相关资源
    最近更新 更多