Für die Geschichte Befehl, und zwar die einfachste Lösung ist
In [243]: history -t -f history.txt
In [244]: with open('history.txt') as f:
.....: HIST = [l.strip() for l in f]
.....:
In [245]: len(HIST)
Out[245]: 258
In [246]: HIST[-1]
Out[246]: "get_ipython().magic(u'history -t -f history.txt')"
In [247]:
Grundsätzlich Dump in eine Datei und lesen Sie es in zurück.
Diese kann ein Klud, scheinen, aber ich vermute, dass es von der Natur von IPython kommt. Es ist eigentlich kein Interpreter, sondern eine Kommandozeilen-Shell für den zugrunde liegenden Interpreter. Mein Verdacht ist, dass die magischen Befehle innerhalb von IPython behandelt werden und nicht den normalen Weg durchlaufen, den Befehl an den Interpreter zu übergeben, die Ausgabe zu erfassen und sie in der Befehlsgeschichte als Out [n] zu speichern. Es ist also nicht für den Rückruf und die Zuweisung verfügbar.
Die Alternative ist, dass get_ipython().magic
einfach None
zurückgibt.
In beiden Fällen ist der Bildschirmausgang d = für %history
nicht verfügbar. Sie müssen es in eine Datei ablegen.
Es scheint per magischen Befehl variieren. alias
, zum Beispiel, wird die Bildschirmausgabe Rückkehr
In [288]: a=%alias
Total number of aliases: 17
In [289]: a
Out[289]:
[('cat', 'cat'),
('clear', 'clear'),
('cp', 'cp'),
('ldir', 'ls -F -G -l %l | grep /$'),
('less', 'less'),
('lf', 'ls -F -l -G %l | grep ^-'),
('lk', 'ls -F -l -G %l | grep ^l'),
('ll', 'ls -F -l -G'),
('ls', 'ls -F -G'),
('lx', 'ls -F -l -G %l | grep ^-..x'),
('man', 'man'),
('mkdir', 'mkdir'),
('more', 'more'),
('mv', 'mv'),
('rm', 'rm'),
('rmdir', 'rmdir'),
(u'show', u'echo')]
In [290]:
? Geschichte gibt Ihnen, wo sie definiert ist. Importieren Sie IPython.core.magics.history.HistoryMagics, damit Sie es aufrufen können. xxx = IPython.core.magics.history.HistoryMagics() und xxx.history() geben einen Fehler aus. Dann blieb ich stecken. –