Estou trabalhando no interpretador python padrão no Mac OS X e Cmd+ K(limpei) meus comandos anteriores. Eu posso passar por eles um por um usando as teclas de seta. Mas existe uma opção como a opção --history no bash shell, que mostra todos os comandos que você inseriu até agora?
150
history
comando shell é um programa como outro qualquer. Não é uma "opção" nobash
comando.history
é um shell embutido.%history
. E a-g
opção obtém sessões anteriores .Respostas:
Use
readline.get_current_history_length()
para obter o comprimento ereadline.get_history_item()
ver cada um.fonte
Código para impressão de todo o histórico:
Python 3
Uma linha (copiar e colar rapidamente):
(Ou versão mais longa ...)
Python 2
Uma linha (copiar e colar rapidamente):
(Ou versão mais longa ...)
Nota :
get_history_item()
é indexado de 1 a n.fonte
import readline; print '\n'.join([str(readline.get_history_item(i)) for i in range(readline.get_current_history_length())])
history()
função com a acima no meu script de inicialização do interpretador Python (um script que é apontado por env. Var$PYTHONSTARTUP
). A partir de agora, posso simplesmente digitarhistory()
qualquer sessão de intérprete ;-)Com o intérprete python 3, a história é escrita para
~/.python_history
fonte
cat ~/.python_history
quit()
do intérprete para o histórico da sessão atual a serem incluídos no~/.python_history
Se você deseja gravar o histórico em um arquivo:
A função de ajuda fornece:
fonte
Como o acima exposto funciona apenas para python 2.x e python 3.x (especificamente 3.5), é semelhante, mas com uma ligeira modificação:
observe o extra ()
(usar shell scripts para analisar .python_history ou python para modificar o código acima é uma questão de gosto pessoal e situação)
fonte
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 `ERRO: O comando" python setup.py egg_info "falhou com o código de erro 1 em C: \ Users \ dblack \ AppData \ Local \ Temp \ pip-install-s6m4zkdw \ readline`pip install readline
, masreadline
é instalado por padrão no Windows.No IPython
%history -g
, você deve fornecer todo o histórico de comandos. A configuração padrão também salva seu histórico em um arquivo chamado .python_history no diretório do usuário.fonte
Uma função simples para obter o histórico semelhante à versão unix / bash.
Espero que ajude algumas pessoas novas.
Snippet: testado com Python3. Deixe-me saber se há alguma falha no python2. Amostras:
Espero que ajude caras.
fonte
cut -c 8
tirá-los.)@ Jason-V, isso realmente ajuda, obrigado. então, encontrei esses exemplos e compusi para possuir o snippet.
fonte
Isso deve fornecer os comandos impressos em linhas separadas:
fonte
Reaplicação da resposta do Doogle que não imprime números de linha, mas permite especificar o número de linhas a serem impressas.
fonte