[英]Jupyter Notebook, Python: Call magic from within a function _not just a cell_
[英]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.