Ipython notebook:在一个单元格中生成日志输出;基于后续单元格中函数调用的操作,移动到单元格输出中的特定行?

时间:2014-04-17 11:08:10

标签: python ipython ipython-notebook

我希望能够在滚动窗口/单元格/框架中显示几千行的日志;执行python函数,结果日志窗口滚动到日志的特定行。我认为ipython笔记本环境有助于进一步处理必须完成的记录数据,但如果用其他GUI进行最简单的操作......

用于探索记录的数据。我们还不知道如何最好地将种子与谷壳分开。

自发布以来,我找到了以下解决方案:

<html>
<body>
<script>
function jump2iframe(ifrname, ifrlabel)
{
    document.getElementById(ifrname).contentWindow.location.hash = ifrlabel;
};
</script>
...
<iframe src="rad_1_file_5.html" width="100%" id="ifr">
  <p>Your browser does not support iframes.</p>
</iframe>
...
<a href="javascript:jump2iframe('ifr', 'line0200')">Jump to Anchor line0200 in iframe?</a>
...

问题是虽然它在Firefox中有效但我想继续使用chrome,因为“同源策略”存在问题而导致它失败。

我尝试将Cross-document messaging与成功加载与父文档相同的目录中的文件的iframe一起使用的尝试都失败了。

1 个答案:

答案 0 :(得分:0)

找到可能的解决方案。我将尝试使用:

,而不是包含生成的文件

在第一个ipython单元格

为每一行创建包含嵌入式链接的html:

from Ipython.display import display HTML

for n, line in enumerate(logdata, 1):
    display(HTML('<a id="line%06i">%s</b>' % (n, line)))

单击以滚动单元格输出。当有许多行时,这将创建一个滚动的html“div”部分。

在另一个单元格中

我可以创建一个滚动到第22行的链接,例如再次调用display:

display(HTML('<a href="#line000022">go to line000022</a>'

我希望为嵌入式iframe工作提供跨文档消息传递,但该解决方案无法实现。