簡體   English   中英

Jupyter Notebook,Python:如何在函數內調用魔法?

[英]Jupyter Notebook, Python: How to call a magic from within a function?

我正在使用Jupyter Notebook,並且正在嘗試基於Github上的模板創建一個小部件。

該模板在某些時候使用了神奇的%%javascript 直接粘貼在筆記本電腦的單元格中時,此工作正常。

但是當我嘗試從小部件中創建一個函數時,使用%%javascript表達式會使它返回錯誤:

%%javascript SyntaxError: invalid syntax

任何人都知道如何“轉換”magic命令,以便可以從函數內正確調用它(該函數保存在單獨的文件中)

如果使用? IPython內置,你可以看到魔法的路徑。 例如, %%javascript? 顯示它位於lib\\site-packages\\ipython\\core\\magics\\display.py

然后你可以導入它並將其作為標准使用; 例如,如果您從筆記本運行它,則會彈出一個警告框:

from IPython.core.magics.display import Javascript
Javascript('alert("hello world")')

編輯:要獲得您在評論中發布的示例,只需將您想要在引號中運行的Javascript包裝起來並使用Javascript調用它。 用這個替換In[4]彈出窗口正常,應該可以包含在普通的Python函數中。

from IPython.core.magics.display import Javascript
Javascript("""$('div.inspector')
    .detach()
    .prependTo($('body'))
    .css({
        'z-index': 999, 
        position: 'fixed',
        'box-shadow': '5px 5px 12px -3px black',
        opacity: 0.9
    })
    .draggable();""")

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM