在iPython Notebook中下载触发器文件

zac*_*618 9 python ipython ipython-notebook

鉴于在外部服务器上运行的iPython笔记本,有没有办法触发文件下载?

我希望能够让笔记本能够启动将生活在外部服务器上的文件下载到本地呈现笔记本的位置,或者从笔记本工作区执行直接字符串转储到文本文件中,在本地下载.

IE是一个功能强大的工具,它可以是一个可以从数据库查询,更改数据并将查询结果下载为CSV文件的Notebook.

笔记本

一个快速实验表明,包含以下内容的单元格会生成一个下载文件的链接.我希望有一个更清晰的解决方案,而不是将数据渲染到HTML框架中.

%%html
<a href="data:application/octet-stream,'string of things'">Download a file</a>
Run Code Online (Sandbox Code Playgroud)

Nic*_*ady 13

我从评论中得到了一个有效的答案。FileLink完成了这项工作,即能够从笔记本下载文件。

from IPython.display import display, FileLink

local_file = FileLink('./demo.xlsx', result_html_prefix="Click here to download: ")
display(local_file)
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

为了完整起见,这里有一个类似的例子FileLinks

from IPython.display import display, FileLinks

local_file = FileLinks('./data/', result_html_prefix="Click here to download: ")
display(local_file)
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

它不是很漂亮,所以会喜欢一些关于造型的建议..


cha*_*id1 -5

您可以使用该urllib库下载文件或请求 URL。

testfile = urllib.URLopener()
testfile.retrieve("http://exmaple.com/file.txt", "file.txt")
Run Code Online (Sandbox Code Playgroud)