[英]Links between IPython notebooks
是否可以通過Markdown單元格中的超鏈接將一個IPython筆記本鏈接到另一個? 如果我試試
Link to [Notebook 2](files/notebook2.ipynb)
要么
Link to <a href="files/notebook2.ipynb">Notebook 2</a>
將打開一個新選項卡,其中包含ipynb文件的原始未格式化內容。 有沒有辦法讓IPython通過超鏈接打開另一個筆記本用於新標簽?
從IPython 2開始,您可以使用您首次嘗試的語法:
Link to [Notebook 2](notebook2.ipynb)
現在至少可以使用Ipython 1.0+來做到這一點。
只需:localhost:8888 / My Notebook.ipynb
以下是此功能的文檔。 https://github.com/ipython/ipython/pull/3058
您可以從url:$ host / notebooks訪問所有筆記本的json版本
這是一個適合我的片段:
import urllib2
import json
data = urllib2.urlopen("http://127.0.0.1:8888/notebooks")
json_data=data.read()
list_o_dicts=json.loads(json_data)
for d in list_o_dicts:
if d['name'] == 'test':
print d['notebook_id']
根據您的需要進行修改。
**在進一步閱讀時,我剛剛意識到OP也在尋求新的筆記本創作,無論如何都要保留我的答案作為連接現有筆記本的方法。
嘗試OP的目標的一種方法是運行一個腳本,該腳本將在ipython筆記本啟動的ipython文件夾中創建一個新的notebook.ipynb文件。 該.ipynb文件可以通過從儀表板創建的新ipython筆記本進行模板化,其中筆記本的名稱和ID將替換為您嘗試從現有筆記本鏈接的任何內容。 我沒有嘗試過這個,但是應該工作,因為將.ipynb擴展文件放到ipython文件夾中確實會在儀表板中顯示它。
除了akim的建議 - 您可以使用相對鏈接鏈接到任何(py或ipynb)文件,從“編輯”開始,然后從啟動服務器的目錄開始。
例如在markdown單元格中,如果我想引用一個文件,其相對位置(相對於我的git repo,也就是我啟動筆記本服務器的地方)是“./path/to/source.py”,我會添加:
[link to source](/edit/path/to/source.py)
不幸的是,這實際上是不可能的。 鏈接需要是筆記本ID(例如/ a1e2a88f-3b91-4a4e-8ca1-d4fd7240f750 ,我正在處理的那個)。 這是由IPython服務器在啟動時創建的UUID。 因此,您可以從IPython儀表板復制鏈接,但只有在重新啟動后才會生效。
請記住,如果您的文件名包含空格,則需要將其替換為%20
例如:
[Numpy](Numpy%20For%20Python.ipynb)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.