如果我想在 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/