【发布时间】:2014-04-28 23:08:58
【问题描述】:
IPython 笔记本和 Qt 控制台都支持显示对象的丰富表示。例如,这是通过定义 _repr_html_ 方法来完成的。
问题在于这两者呈现 HTML 的方式不同。有没有办法让我检测是否在ipython qtconsole 下运行,以便我可以使用更基本的 HTML 集?最好是记录在案的方式,将来不太可能中断?
【问题讨论】:
IPython 笔记本和 Qt 控制台都支持显示对象的丰富表示。例如,这是通过定义 _repr_html_ 方法来完成的。
问题在于这两者呈现 HTML 的方式不同。有没有办法让我检测是否在ipython qtconsole 下运行,以便我可以使用更基本的 HTML 集?最好是记录在案的方式,将来不太可能中断?
【问题讨论】:
我也有类似的问题。在 IPython 终端中进行颜色处理需要调用 Windows DLL,但 qtconsole 中的颜色似乎支持基于 linux 的转义序列......无论如何。这就是我发现的。它丑陋...但它至少会告诉您终端与 qtconsole...哦,我还没有尝试使用笔记本:
import __main__
if hasattr(__main__,"get_ipython"):
import IPython.kernel.zmq.zmqshell as z
if isinstance(get_ipython(), z.ZMQInteractiveShell):
print 'yep...its qtconsole'
【讨论】: