我试图让文本在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笔记本中,解决此问题的一个简单方法是使用降价:
然后做如下事情:
当然,这对于粗体、斜体等很好,但是标记本身并没有实现颜色。但是,您可以在标记中放置html,并获得如下内容:
您还可以将其包装在
printmd
函数中:然后做一些很酷的事情比如
对于颜色,也可以使用十六进制表示法(例如,
color = "#00FF00"
表示绿色)为了澄清,虽然我们使用了标记,但这是一个代码单元格:您可以执行如下操作:
当然,这种方法的一个缺点是依赖于在Jupyter笔记本中。
我想完成前面不完整的回答。 不需要导入额外的包就可以完成更复杂和有趣的事情。e、 g
即:
打开方式:
关闭方式:
其中XX、YY和ZZ是来自: https://en.wikipedia.org/wiki/ANSI_escape_code
需要注意的是,这在很大程度上取决于您使用什么作为控制台来查看什么是有效的。
为我工作是以下几点的结合:
文本样式设置
文本颜色
明亮的文本颜色
背景色(即高光)
注意1;42等也同样适用
在windows 7、python 3.6、IPython控制台和spyder3.2.3中进行了测试,这对我很有用
这些是ANSI转义,终端处理以切换字体样式的特殊字符序列。Qt控制台解释了其中的一些,但并不是所有严重的终端所做的。这个序列可以用红色打印,例如:
但是,如果要编写跨平台应用程序,请注意Windows命令提示符不处理这些代码。一些更复杂的包可以对它们进行处理,从而在Windows上产生类似的效果。
Qt控制台还可以显示简单的HTML,如下所示:
但当然,HTML在常规终端中不起作用。
相关问题 更多 >
编程相关推荐