webentwicklung-frage-antwort-db.com.de

Wie schreibe ich die Ausgabe des ipython-Befehls in eine Python-Textdatei?

Ich möchte die Ausgabe des folgenden ipython-Befehls in einer Datei erfassen: Befehle und Ausgabebereiche folgen:

`decoder.get_hyp()`

WARNING: "ngram_search.c", line 1000: </s> not found in last frame, using ++NOISE++ instead
INFO: ngram_search.c(1046): lattice start node <s>.0 end node ++NOISE++.171
INFO: ps_lattice.c(1225): Normalizer P(O) = alpha(++NOISE++:171:185) = -2003082
INFO: ps_lattice.c(1263): Joint P(O,S) = -2036704 P(S|O) = -33622
Out[7]: ('WELCOME TO MY TALK', '000000000', -36704586)

Ich möchte nur den Teil "Willkommen zu meinem Vortrag" in meine Datei aufnehmen.

21
Anislein

Verwenden Sie die IPython-Zauberfunktion store

%store foo >> a.txt # Append value of foo to file a.txt
28
Joshua Cook

Mach einfach wie folgt:

%save file_name.py _oh[7]

PS: Einige zusätzliche nützliche Befehle: 

%save file_name.py _

'_' bezieht sich auf die vorherige Ausgabe. 

Oder du kannst: 

%save file_name.py _oh[i]

'i' bezieht sich auf die Ausgabeverlaufsnummer. Sie können die Ausgabe zuerst sehen über: 

_oh
25
Honghe.Wu

IPython erfasst den Wert (Ausgabe) des letzten Befehls in der Variablen _ (Unterstrich).

%edit some_variable

öffnet den Wert einer Variablen in Ihrem Editor.

"% Edit _" sollte es Ihnen ermöglichen, den Wert des letzten Befehls zu bearbeiten und zu speichern.

Siehe den Abschnitt "Verlauf" der IPython-Dokumente

Um mehr über die möglichen Argumente für die% edit magic-Funktion zu erfahren, geben Sie Folgendes an der ipython-Eingabeaufforderung ein:

%edit?
1
Dave Kuhlman

Die Zelle %%capture cell magic speichert die Ausgabe von stdout/stderr, wenn ein Befehl ausgeführt wird, falls dies erforderlich ist. Hier ist die Verwendungssyntax:

%%capture [--no-stderr] [--no-stdout] [--no-display] [output]

Und hier ist ein Anwendungsbeispiel:

In [1]: %%capture my_print_output
    ...: print('test')
    ...:

In [2]: my_print_output
Out[2]: <IPython.utils.capture.CapturedIO at 0x7f2efa2c12d0>

In [3]: test_output.show()
test

Das Ausgabeobjekt ist eine Instanz von IPython.utils.capture.CapturedIO , die über eine übersichtliche Schnittstelle für den Zugriff auf stdout/stderr oder die kombinierte Ausgabe verfügt.

0
tutuDajuju