2014-10-21 10 views
9

Gibt es eine Möglichkeit, einen iPhonto-Laptop, der auf einem externen Server ausgeführt wird, einen Datei-Download auszulösen?Trigger-Datei herunterladen in iPython Notebook

Ich möchte entweder das Notebook in der Lage sein, den Download einer Datei auf dem externen Server zu initiieren, wo das Notebook lokal gerendert wird, oder einen direkten String Dump aus dem Arbeitsbereich des Notebooks ausführen in eine Textdatei, die lokal heruntergeladen wird.

I.E. Ein leistungsfähiges Werkzeug wäre ein Notebook, das Daten aus einer Datenbank abfragen, Daten ändern und die Abfrageergebnisse als CSV-Datei herunterladen kann.

Notebook

Ein kurzer Versuch zeigte, dass eine Zelle die folgenden rendert einen Link enthält, die eine Datei herunterlädt. Ich hoffe auf eine sauberere Lösung als das Rendern von Daten in einen HTML-Frame.

%%html 
<a href="data:application/octet-stream,'string of things'">Download a file</a> 
+1

Sie können einen Hyperlink mit Ipython.display.FileLink rendern. Ich bin sicher, mit einigem JavaScript in einer Markdown-Zelle können Sie die Seite neu laden. –

+0

Ich sah das, aber war nicht in der Lage, den Inhalt in der Datei zu rendern oder herunterzuladen, gefunden durch den folgenden Link –

+0

Sie könnten einige JS aufrufen 'window.open (url)' –

Antwort

-3

Sie können die Bibliothek urllib verwenden, um Dateien herunterzuladen oder URLs anzufordern.

testfile = urllib.URLopener() 
testfile.retrieve("http://exmaple.com/file.txt", "file.txt")