Estoy trabajando en el intérprete de Python predeterminado en Mac OS X, y yo Cmd+ K(borré) mis comandos anteriores. Puedo revisarlos uno por uno usando las teclas de flecha. Pero, ¿hay una opción como la opción --history en bash shell, que muestra todos los comandos que ha ingresado hasta ahora?
150
history
comando de shell es un programa como cualquier otro. No es una "opción" albash
mando.history
es una concha incorporada.%history
. Y la-g
opción obtiene sesiones anteriores .Respuestas:
Use
readline.get_current_history_length()
para obtener la longitud yreadline.get_history_item()
para ver cada uno.fuente
Código para imprimir todo el historial:
Python 3
One-liner (copiar y pegar rápidamente):
(O versión más larga ...)
Python 2
One-liner (copiar y pegar rápidamente):
(O versión más larga ...)
Nota :
get_history_item()
está indexado de 1 a n.fuente
import readline; print '\n'.join([str(readline.get_history_item(i)) for i in range(readline.get_current_history_length())])
history()
función con lo anterior en mi script de inicio del intérprete de Python (un script al que apunta env. Var$PYTHONSTARTUP
). De ahora en adelante, simplemente puedo escribirhistory()
cualquier sesión de intérprete ;-)Con el intérprete de Python 3, la historia se escribe en
~/.python_history
fuente
cat ~/.python_history
quit()
el intérprete incluya el historial de la sesión actual~/.python_history
Si desea escribir el historial en un archivo:
La función de ayuda proporciona:
fuente
Dado que lo anterior solo funciona para python 2.x para python 3.x (específicamente 3.5) es similar pero con una ligera modificación:
tenga en cuenta el extra ()
(el uso de scripts de shell para analizar .python_history o el uso de python para modificar el código anterior es una cuestión de gusto personal y situación)
fuente
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 `ERROR: El comando" python setup.py egg_info "falló con el código de error 1 en C: \ Users \ dblack \ AppData \ Local \ Temp \ pip-install-s6m4zkdw \ readline`pip install readline
, peroreadline
está instalado de forma predeterminada en Windows.En IPython
%history -g
debería darte todo el historial de comandos. La configuración predeterminada también guarda su historial en un archivo llamado .python_history en su directorio de usuario.fuente
Una función simple para obtener el historial similar a la versión unix / bash.
Espero que ayude a algunas personas nuevas.
Fragmento: Probado con Python3. Avíseme si hay problemas técnicos con python2. Muestras:
Espero que ayude a los muchachos.
fuente
cut -c 8
los elimino.)@ Jason-V, realmente ayuda, gracias. entonces, encontré estos ejemplos y compuse un fragmento propio.
fuente
Esto debería darle los comandos impresos en líneas separadas:
fuente
Repita la respuesta de Doogle que no imprime números de líneas, pero permite especificar el número de líneas para imprimir.
fuente