我尝试在jupyter笔记本(IPython
)中实现一个下载按钮。我知道这个按钮部件确实存在于jupyter中,如下所示。
from ipywidgets import Button
...
btn_download = widgets.Button(
description='Download',
button_style='', # 'success', 'info', 'warning', 'danger' or ''
tooltip='Download',
icon='download',
layout=button_layout )
# Then implement download in on_click
def on_button_download_clicked(b):
# Handle download using urlopen
filedata = urllib.request.urlopen(r'file://' + filepath)
datatowrite = filedata.read()
with open("download.fid", 'wb') as f:
f.write(datatowrite)
# Register callback
btn_download.on_click(on_button_download_clicked)
然而,这似乎不起作用。我试过一些其他的方法,如使用urlretrieve
,仍然不起作用。
我也意识到存在使用ipython.display.FileLink
这样的解决方案,但我希望它是按钮形式。
有什么变通办法吗?
1条答案
按热度按时间cnwbcb6i1#
Solara有一个FileDownload component可以用于此目的。
这看起来像:
如果你需要把它嵌入到一个ipywidget VBox或HBox中,使用.widget方法: