📅  最后修改于: 2023-12-03 15:08:40.664000             🧑  作者: Mango
在 Jupyter Notebook 中,您可以使用 appmode 扩展来创建带有用户界面的交互式笔记本。在这篇文章中,我们将介绍如何在 Jupyter appmode 中添加带有下载链接的按钮,以便用户可以方便地下载文件。
在开始之前,您需要先安装 appmode 扩展。您可以通过运行以下命令来安装 appmode:
!pip install appmode
!jupyter nbextension enable --py --sys-prefix appmode
!jupyter serverextension enable --py --sys-prefix appmode
在这个例子中,我们将创建一个名为 'example.txt' 的文本文件,该文件将包含一些示例文本。
with open('example.txt', 'w') as f:
f.write('This is an example text file.')
现在我们需要创建一个“下载”按钮,当用户单击它时,它将下载 'example.txt' 文件。
from IPython.display import HTML
import base64
def create_download_link(filename):
with open(filename, 'rb') as f:
data = f.read()
b64 = base64.b64encode(data).decode('UTF-8')
href = f'<a download="{filename}" href="data:file/txt;base64,{b64}">Download file</a>'
return href
HTML(create_download_link('example.txt'))
在这个示例中,我们使用 HTML 和 base64 模块创建了下载链接。我们首先打开文件,并读取它的内容,然后将文件的 base64 编码存储在变量“b64”中。最后,我们创建一个包含“下载”按钮的 HTML 标记。
在完成前面的步骤后,现在可以在 appmode 中运行 Jupyter 笔记本,看看“下载”按钮是否有效。要在 appmode 中运行笔记本,请使用以下命令启动 Jupyter 服务器:
jupyter server --app=appmode
这将启动一个 appmode 服务器,您将看到 Jupyter 的 Web 界面。
现在打开您的笔记本,您应该能够看到“下载”按钮。当您单击“下载”按钮时,将会下载 example.txt 文件到您的本地计算机上。
通过本文,您学习了如何在 Jupyter appmode 中创建带有下载链接的按钮。使用这个方法,您可以方便地与用户分享您创建的文件。