2012-12-06 64 views
1

我是ipython的新手,仍然在學習和喜歡它的功能。試圖編寫一個具有常見任務的模塊,以便筆記本用戶可以加載我的自定義模塊並保存輸入的通用代碼。從python模塊中使用ipython magics在筆記本中加載

下面是一個示例mymodule.ipy:

import mymodule as mymod 
    mymod.func(): 
     wd=%pwd 
     return wd 

當我測試它在筆記本:

import mymodule as my 
    --------------- 
    ImportError  Traceback (most recent call last) 
    <ipython-input-1-1036e4702cf4> in <module>() 
    ----> 1 import mymodule as my 

    ImportError: No module named mymodule 

但是,當我重命名模塊文件作爲mymodule.py,模塊加載失敗與錯誤信息表示它無法識別密碼魔術:

File "mymodule.py", line 2 
     wd=%pwd 
     ^
    SyntaxError: invalid syntax 

我的問題是我該如何寫一個帶ipython magics和其他ipython功能的模塊,我可以從筆記本中加載?我的印象是我可以將ipython代碼放入一個.ipy擴展名的文件中,並且可以從ipython加載它。我錯過了什麼嗎?

+0

我可以通過執行「%run mymodule.ipy」來使用mymodule.ipy,現在模塊中的功能可用於筆記本電腦中。這服務器我的需要。 –

回答

3

「%run mymodule.ipy」正如我評論中指出的那樣服務於我現在的需要。發佈它作爲答案關閉這個問題。如果您有「模塊」方法,請隨時發佈更多內容。

+2

是的,這是正確的做法。你不能導入它,因爲'.ipy'腳本只是腳本,而不是模塊。但'%pwd'只是'os.getcwd()'的簡寫,所以你可以在模塊中使用它。 –