2012-06-13 122 views
30

IPython文檔頁面建議打開IPython筆記本的多個不同會話是與保存在不同目錄或子目錄中的筆記本進行交互的唯一方式,但這不會在任何地方明確確認。IPython Notebook會話中的多個目錄和/或子目錄?

我面臨的情況是,我可能需要與數百個不同的筆記本進行交互,這些筆記本根據不同的屬性進行分類並存儲在主目錄的子目錄中。我已將ipython_notebook_config.py配置文件中的主目錄(我們稱之爲/main)設置爲默認目錄。

當我啓動IPython的筆記本電腦,它確實顯示所有已保存的筆記本電腦是內/main(內/main子目錄中,但不保存筆記本電腦)這一點。

我如何能實現一個單一的IPython儀表板,顯示我中/main的筆記本電腦,也顯示子目錄,讓我展開一個子目錄,並從它的內容中選擇,或者只顯示了從所有子目錄的所有筆記本電腦?

通過每次啓動IPython的新實例來做到這一點完全沒有問題。

如果我不得不爲此能力,我願意修補源代碼。這是一個非常基本的功能,我們需要它,令人驚訝的是它不僅僅是默認的IPython行爲。對於大概10或15個節省的筆記本電腦,此功能需要

+0

筆記本電腦服務器正在討論將能夠瀏覽到不同的目錄,它只是一直沒有執行* *尚。如果對你很重要,歡迎你來幫忙寫下來,儘管我們正在準備發佈另一個版本,所以它可能不會在那之前出現。 –

回答

20

IPython文檔頁面建議打開IPython筆記本的幾個不同會話是與保存在不同目錄或子目錄中的筆記本進行交互的唯一方法,但這並未在任何地方明確確認。

是的,這是筆記本服務器的當前(臨時)限制。筆記本待辦事項列表中的多目錄支持非常高(不幸的是,列表很長,開發人員很少,並且有日常工作),但它還沒有。按0.14(可能是Fall),你應該沒有理由運行多個nb服務器,但現在這是多個目錄的唯一選擇。所有這一切都缺少一個簡單的初稿是:

  1. 與關聯目錄(相當瑣碎的)個人筆記本電腦和
  2. 爲簡單的文件系統導航Web UI(幾乎沒有價值的)。

我願意帶源代碼進行修補,如果我有這個能力

的限制因素,如果你想捅源周圍,是NotebookManager,這是與特定目錄相關聯。如果你調整list_notebooks()方法來處理子目錄,那麼你就有90%。

我對此很好奇,所以我把一個快速示例here放在一起,它允許您至少讀取/運行/編輯/保存筆記本中的子目錄(步行深度限制爲2,但易於更改)。任何新的筆記本電腦都將位於頂級目錄中,並且不存在用於移動它們的UI。

+0

鏈接被破壞 – denfromufa

+0

現在這個答案是不相關的,因爲IPython 1.0支持目錄導航。我確實將NotebookManager鏈接固定爲當時最新的0.13。 – minrk