Ich arbeite an dem Standard-Python-Interpreter unter Mac OS X und habe meine früheren Befehle Cmd+ K(gelöscht). Ich kann sie einzeln mit den Pfeiltasten durchgehen. Aber gibt es eine Option wie die Option --history in der Bash-Shell, die Ihnen alle Befehle zeigt, die Sie bisher eingegeben haben?
149
history
Shell-Befehl ist ein Programm wie jedes andere. Es ist keine "Option" imbash
Befehl.history
ist eine Shell eingebaut.%history
. Und die-g
Option erhält frühere Sitzungen .Antworten:
Verwenden Sie
readline.get_current_history_length()
diese Option , um die Länge abzurufen undreadline.get_history_item()
die einzelnen Elemente anzuzeigen.quelle
Code zum Drucken des gesamten Verlaufs:
Python 3
Einzeiler (schnelles Kopieren und Einfügen):
(Oder längere Version ...)
Python 2
Einzeiler (schnelles Kopieren und Einfügen):
(Oder längere Version ...)
Hinweis :
get_history_item()
ist von 1 bis n indiziert.quelle
import readline; print '\n'.join([str(readline.get_history_item(i)) for i in range(readline.get_current_history_length())])
history()
in meinem Python-Interpreter-Startskript eine Funktion wie oben hinzugefügt (ein Skript, auf das env. Var verweist$PYTHONSTARTUP
). Von nun an kann ich einfachhistory()
jede DolmetschersitzungMit dem Python 3-Interpreter wird der Verlauf geschrieben
~/.python_history
quelle
cat ~/.python_history
quit()
den Dolmetscher, damit der aktuelle Sitzungsverlauf in~/.python_history
Wenn Sie den Verlauf in eine Datei schreiben möchten:
Die Hilfefunktion gibt:
quelle
Da das oben genannte nur für Python 2.x funktioniert, ist Python 3.x (speziell 3.5) ähnlich, jedoch mit einer geringfügigen Änderung:
beachte das extra ()
(Die Verwendung von Shell-Skripten zum Parsen von .python_history oder die Verwendung von Python zum Ändern des obigen Codes ist imho eine Frage des persönlichen Geschmacks und der Situation.)
quelle
C:\>python -m pip install readline
=>Collecting readline
\ nDownloading https://files.pythonhosted.org/packages/f4/01/2cf081af8d880b44939a5f1b446551a7f8d59eae414277fd0c303757ff1b/readline-6.2.4.1.tar.gz (2.3MB)
\ n|████████████████████████████████| 2.3MB 1.7MB/s
\ nERROR: Complete output from command python setup.py egg_info:
\ nERROR: error: this module is not meant to work on Windows
\ n----------------------------------------
\ n `FEHLER: Der Befehl" python setup.py egg_info "ist mit Fehlercode 1 in C: \ Users \ dblack \ AppData \ Local \ Temp \ pip-install-s6m4zkdw fehlgeschlagen \ readline`pip install readline
, ist aberreadline
standardmäßig unter Windows installiert.In IPython
%history -g
sollte Ihnen der gesamte Befehlsverlauf angezeigt werden. Die Standardkonfiguration speichert Ihren Verlauf auch in einer Datei mit dem Namen .python_history in Ihrem Benutzerverzeichnis.quelle
Eine einfache Funktion, um den Verlauf ähnlich der Unix / Bash-Version abzurufen.
Hoffe, es hilft einigen neuen Leuten.
Snippet: Getestet mit Python3. Lassen Sie mich wissen, ob es bei python2 Störungen gibt. Proben:
Hoffe es hilft Jungs.
quelle
cut -c 8
raus.)@ Jason-V, es hilft wirklich, danke. Dann fand ich diese Beispiele und komponierte sie zu einem eigenen Snippet.
quelle
Dies sollte Ihnen die Befehle geben, die in separaten Zeilen ausgedruckt werden:
quelle
Wiederholung der Antwort von Doogle , bei der keine Zeilennummern gedruckt werden, sondern die Anzahl der zu druckenden Zeilen angegeben werden kann.
quelle