2014-02-28 51 views
0

Change IPython working directory Inserting image into IPython notebook markdownipython筆記本 - 從子目錄中上傳並保存到子目錄中?

您好,我已閱讀上述兩個環節,第二個鏈接似乎最相關的。這個人所描述的 - 簡單地調用子目錄 - 對我來說不起作用。舉例來說,我有一個形象「gephi.png「/Graphs/gephi.png」 但是,當我寫了下面的

from IPython.display import Image 
path = "/Graphs/gephi.png" 
i = Image(path) 
i 

沒有圖像彈出 - 是啊。沒有錯誤。除了空方盒圖像外,沒有什麼東西可以彈出。

說明: 當我將圖像移動到常規導演時,圖像彈出正常。 我唯一代碼的變化是路徑=「gephi.png」

+0

你執行了該行嗎?如果出現錯誤,您應該會看到一條錯誤消息... –

+0

是的。沒有錯誤。除了空方盒圖像外,沒有什麼東西可以彈出。 – user3314418

+0

也許這是圖像的內容?無論如何,你爲什麼不在問題中包括這個?我們沒有看到這個彈出窗口,你知道... –

回答

1

IPython的的圖像顯示對象有三個類型的參數

首先是原始圖像數據(例如open(filename).read()結果:

with open("Graphs/graph.png") as f: 
    data = f.read() 
Image(data=data) 

第二種模式是從文件名加載圖像,功能與上面相同,但IPython會從文件中讀取數據:

Image(filename="Graphs/graph.png") 

第三種形式是傳遞URL。外部URL可以使用,但相對URI將成爲相對於筆記本電腦本身的目錄下的文件:剛

Image(url="Graphs/graph.png") 

如果這可能會比較混亂的,如果你不告訴IPython中的這些你所指定的一個,和你位置上傳遞一個參數:

Image("Graphs/graph.png") 

IPython的嘗試猜測你在這種情況下,是什麼意思:

  1. 如果它看起來像一個路徑指向現有的文件,把它作爲一個文件名
  2. 如果它看起來像一個URL,把它作爲一個URL
  3. 否則,回退到上嵌入字符串作爲原始PNG數據

那#3是最混亂的根源。如果你傳遞一個文件名不存在, 你會得到一個破碎的形象:

Image("/Graphs/graph.png") 

注意,網址,本地文件必須是相對的。絕對URL一般會出錯:

Image(url="/Graphs/graph.png") 

An example notebook說明這些事情。

+0

謝謝你。原始圖像數據選項有效!相反,如果我想保存到一個子目錄,是否有類似的方式來做到這一點? – user3314418

+0

它位於所有這些情況下的子目錄中 - 「Graphs」是與筆記本文件相鄰的目錄。如果你想更深入地嵌套,只需使用'any/other/subdir/graph.png' – minrk

相關問題