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/...
Schreibe einen Kommentar