python脚本模糊错误消息

时间:2016-04-07 09:56:13

标签: python jupyter-notebook

我正在使用jupiter notebooks和root with C ++ kernel来创建一些交互式文档。文档包括一些直方图和其他图形,所以我使用魔术%% jsroot以使图形交互。神奇的是推动javascript而不仅仅是图像,因此它们可以是互动的。

一切正常,直到我尝试使用nbconvert将笔记本变成pdf文件。由于javascript无法转换为pdf我使用脚本删除我调用%% jsroot的单元格并重新运行笔记本以创建图像。 %% jsroot命令在单独的单元格中调用。 这是我的剧本:

导入字符串     导入系统     infilename = sys.argv [1]     outfilename = sys.argv [2]

f = open(infilename)
lines = f.readlines()
f.close()
text = "".join(lines)

true=True
false=False

nbj = eval(text)

cells = nbj["cells"]

newcells=[]
jscount = 0
mustdecrement = False
for cell in cells:
   if cell["source"][0] == "%%jsroot on":
     mustdecrement = True
     jscount = 1
     continue
   else:
     if mustdecrement:
       cell["execution_count"] -= 1
     newcells.append(cell)
nbj["cells"] = newcells

if jscount == 1:
   newnb = open(outfilename,"w")
   newnb.write(str(nbj))
   newnb.close()

它给了我错误:

  

追踪(最近一次通话):    文件“removeJS.py”,第28行,in      cell [“execution_count”] - = 1   KeyError:'execution_count'

任何想法可能是什么?

1 个答案:

答案 0 :(得分:1)

我找到了这个(简单的逻辑错误)。 markdown单元格上不存在execution_count属性,因此找不到它。