wie speichern Sie die Ausgabe einer Zelle in iPython notebook?
Ich würde gerne in der Lage, speichern Sie die TEXT-Ausgabe von einem iPython notebook Zelle in eine Datei auf der Festplatte.
Habe ich 2 zusätzliche Anforderungen/Wünsche:
- werden in der Lage, re-run der Zelle und überschreiben Sie die Ausgabe mit dem, was die neueste ist.
- auch die Anzeige der Ausgabe in das notebook.
Habe ich herausgefunden, wie die %%capture
Magie für einige grundlegende speichern einer iPython notebook Zelle in eine Datei, aber es scheint nicht flexibel genug: es hält Anhängen jedes mal, wenn ich re-run der Zelle und ich kann es nicht anzeigen innerhalb der gleichen Zelle.
Hier ist was ich habe, so weit:
%%capture cap --no-stderr
print 'stuff'
with open('output.txt', 'w') as f:
f.write(cap.stdout)
# clear the cap by deleting the variable here?
# del cap
Wenn ich versuche cap.show()
nach dem schreiben, scheint es nicht angezeigt. Stattdessen setzt es die Ausgabe in die Kappe variable zweimal.
- Moechten Sie textuelle Ausgabe oder nur bei den print-Anweisungen? Aufgrund der IPython-display-Maschinen haben alle Objekte eine textuelle Repräsentation, so dass mehr text vorhanden ist, in das notebook als sichtbar in den ersten Platz.
- Wenn Sie nur nach der print-Anweisung, einen Blick auf die Antworten zu den diese Frage
- Vielleicht nützlich für das speichern bestimmter Zellen: datascience.stackexchange.com/questions/13669/...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Haben Sie einen Tippfehler, fehlende
d
imcap.stout
. Es solltecap.stdout
Getestet habe ich die folgenden und es funktionierte gut.
cap.show()
auch die gedruckten "Sachen" und wieder läuft die Zelle überschrieben wird die Datei.cap.show()
in andere Zelle wird nicht in die Datei schreiben.name cap doesn't exist
. Das zweite mal, dass ich es ausführen, es führt problemlos.