Jupyter/IPython笔记本可以在URL中获取参数吗?

Joh*_*itt 12 python ipython-notebook jupyter

是否可以编写一个Jupyter笔记本,以便参数可以通过笔记本的URL传入?

例如,对于这样的URL:

http://jupyter.example.com/user/me/notebooks/notebook1.ipynb?Variable1=Value1&Variable2=Value2
Run Code Online (Sandbox Code Playgroud)

如何可以访问Variable1,并Variable2在Jupyter细胞内?

aka*_*ola 12

您需要使用JavaScript找到URL并将其传递给IPython内核:

from IPython.display import HTML
HTML('''
    <script type="text/javascript">
        IPython.notebook.kernel.execute("URL = '" + window.location + "'")
    </script>''')
Run Code Online (Sandbox Code Playgroud)

要么:

%%javascript
IPython.notebook.kernel.execute("URL = '" + window.location + "'");
Run Code Online (Sandbox Code Playgroud)

然后在下一个单元格中:

print(URL)
Run Code Online (Sandbox Code Playgroud)

在此之后,您可以使用标准库中的工具(或纯字符串操作)来提取查询参数.