ipython - IPython 终端 shell 中对象的彩色表示

标签 ipython

如果我想在 QtConsole 或 IPython Notebook 中对对象进行彩色表示,我只需要添加 _repr_html_对象类的方法。

In [1]: class Test(object):
            def __init__(self, x):
                self.x = x

            def _repr_html_(self):
                return '''<span style="color: green">
                       Test{<span style="color: red">%s</span>}
                       </span>''' % self.x
In [2]: Test(33)
Test{33}

这会给我一个很好的彩色表示,其中 Test{将是绿色的,33红色和}又绿了。

有没有办法以跨平台的方式在 IPython Shell 的终端版本中做到这一点?

理想情况下,它的工作方式与 prompt customization 的模板相同。 :

In [1]: class Test(object):
            def __init__(self, x):
                self.x = x

            def _repr_shell_(self):
                return '{color.Green}Test{{color.Red}%s{color.Green}}' % self.x

如果没有,我可以在我自己的控制台应用程序中以某种方式导入和使用 IPython 的内部跨平台着色系统吗?我查看了 IPython 代码库,但没有找到任何直接使用它的方法:(

最佳答案

您可以使用 TermColors来自 IPython。
一个最小的例子是:

from IPython.utils.coloransi import TermColors as color
class Test(object):
   def __init__(self, x):
       self.x = x
   def __repr__(self):
       return '{0}Test{{{1}{2}{0}}}'.format(color.Green, color.Red, self.x)

关于ipython - IPython 终端 shell 中对象的彩色表示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17977822/

相关文章:

ipython - 在 IPython 中执行/运行一行而不是整个单元

python - 在 ipython 笔记本中使用 matplotlib 内联时如何禁用 bbox_inches ='tight'

python - Panda 的箱线图但未显示箱线

graphics - igraph 绘图函数不在 IPython 笔记本中显示图像

python - Jupyter:禁用重启内核警告

python - IPython 笔记本 - 无法导出为 pdf

ipython - 如何在 ipdb 上的 iPython 笔记本中自动完成?

Python:获取类的源代码(使用检查)

python - Jupyter 数据路径是否支持 unicode?

python - 我安装了多个 Ipython 内核,但此后我无法导入 numpy、pandas