我正在尝试使文本在ipython的qtconsole中显示为粗体,颜色或斜体。
我找到了此链接:How do I print bold text in Python?,并使用了第一个和第二个答案,但是在qtconsole中,只有下划线选项有效。
我尝试:print '\033[1m' + 'Hello World!' + '\033[0m'
得到:Hello World!
(无黑体字)。颜色也不起作用。但:print '\033[4m' + 'Hello World!' + '\033[0m'
得到:Hello World!
带下划线。
这仅在qtconsole中。仅在终端中运行ipython,它可以通过这种方式来做粗体和颜色。
在该链接中还建议了其他选项,从中链接了另一个Print in terminal with colors using Python?,但它们似乎都比我想做的事情要复杂,并且使用了更多精心设计的软件包,这仅仅是让qtconsole像这样显示普通的终端就可以。
有人知道发生了什么吗?这仅仅是对qtconsole的限制吗?
最佳答案
在Jupyter Notebooks中,解决此问题的一种干净方法是使用markdown:
from IPython.display import Markdown, display
def printmd(string):
display(Markdown(string))
然后执行以下操作:
printmd("**bold text**")
当然,这对于粗体,斜体等非常有用,但markdown本身并不实现颜色。但是,您可以将HTML放在markdown中,并获得以下信息:
printmd("<span style='color:red'>Red text</span>")
您也可以将其包装在
printmd
函数中:def printmd(string, color=None):
colorstr = "<span style='color:{}'>{}</span>".format(color, string)
display(Markdown(colorstr))
然后做一些很酷的事情
printmd("**bold and blue**", color="blue")
对于颜色,您也可以使用十六进制表示法(例如,绿色的
color = "#00FF00"
)为了澄清,尽管我们使用markdown,但这是一个代码单元:您可以执行以下操作:
for c in ('green', 'blue', 'red', 'yellow'):
printmd("Writing in {}".format(c), color=c)
当然,这种方法的缺点是依赖于Jupyter笔记本电脑。
关于python - 在ipython qtconsole中打印粗体,彩色等文本,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23271575/