javascript - Jupyter 笔记本,Python : Call magic from within a function _not just a cell_

标签 javascript python jupyter-notebook

我正在尝试编写一个库,将一些 JavaScript 嵌入到 Jupyter 笔记本中。使用 %%javascript 魔法,代码可以正常工作,但我想将 JavaScript 的加载嵌入到库调用中。我发现这个帖子:Jupyter Notebook, Python: How to call a magic from within a function?但它只能部分起作用。

以下代码正确运行 JavaScript 警报:

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

但是,以下内容不起作用(没有任何反应;没有控制台错误):

from IPython.core.magics.display import Javascript

def foo():
    Javascript('alert("hello world")')
foo()

如何在函数中嵌入对 Javascript 的工作调用?

最佳答案

拍摄。发布到 SO 后,您的思维速度会快得多,真是令人惊讶。

对于后代来说,Javascript 函数通过返回必要的代码来与 Jupyter 配合使用。为了使我的示例正常工作,唯一的更改是使 foo 返回 Javascript(...) 的结果。我认为这是通过与笔记本的某种神奇连接在函数内完成的工作的无效返回。不是这样的! (当然,如果这是静态类型的,我就会知道这一点并为自己节省一些时间,但我离题了。)Anwyay,正确的代码是:

from IPython.core.magics.display import Javascript

def foo():
    return Javascript('alert("hello world")')
foo()

关于javascript - Jupyter 笔记本,Python : Call magic from within a function _not just a cell_,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57059470/

相关文章:

javascript - Internet Explorer 8 解析 XML 不适用于巨大的响应大小

python - 在 Python 函数中获取 "None"而不是零值

python - DRF- Django Rest Framework re_path 查询参数 - "Method\"GET\"not allowed."

python - Numpy - 找到所有元素都是有限的行

javascript - 从 js 调用不同当前文件中的类

javascript - js正则表达式查找字符串中的多个子字符串

python - 转换结构化数组中的日期元素

jupyter-notebook - Jupyter notebook/lab 或 contrib 扩展中是否有任何 GOTO 功能?

jupyter-notebook - 更新后运行 Jupyter Lab/Notebook 和大多数 Conda 命令时出错

javascript - 如何在 Python 中使用 Selenium 从 JS 提示符中获取 Int