Como a maioria dos desenvolvedores de Python, normalmente mantenho uma janela do console aberta com o interpretador Python em execução para testar comandos, dir()
coisas help() stuff
etc.
Como qualquer console, depois de um tempo, a lista de pendências visível de comandos e impressões anteriores fica desorganizada e, às vezes, confusa ao executar o mesmo comando várias vezes. Gostaria de saber se e como limpar o console do interpretador Python.
Ouvi falar de fazer uma chamada de sistema e de ligar cls
no Windows ou clear
no Linux, mas esperava que houvesse algo que eu pudesse ordenar que o próprio intérprete fizesse.
Nota: Estou executando no Windows, então Ctrl+L
não funciona.
Respostas:
Como você mencionou, você pode fazer uma chamada do sistema:
Para Windows
Para Linux, o lambda se torna
fonte
def
? Por que usar alambda
quando adef
é mais claro?clear = lambda: os.system('cls') or None
aqui algo útil que é um pouco mais multiplataforma
fonte
import os
os.system('cls')
Bem, aqui está um truque rápido:
Ou, para economizar digitação, coloque este arquivo no seu caminho de pesquisa python:
Então você pode fazer isso com o intérprete tudo o que quiser :)
fonte
"\x1B[H\x1B[J"
clear
ecls
fazer. Esta é a maneira de fazê-lo. (apenas uma impressão, ou uma função com a chamada de impressão, não assigining para uma string "claro", é claro)clear
gera uma diretiva que limpa a tela. Sem descartar o buffer de rolagem. No meu sistema, ele exibe essa seqüência de controle:\33[3J\33[H\33[2J
. Ou seja:[erase scrollback]
[reset cursor position]
[erase screen]
. O[erase scrollback]
pode ser omitido usandoclear -x
.Embora essa seja uma pergunta mais antiga, pensei em contribuir com algo que resumisse as melhores respostas e acrescentar minhas próprias rugas, sugerindo que você coloque esses comandos em um arquivo e defina seu PYTHONSTARTUP variável de ambiente para apontar para ele. Como estou no Windows no momento, é um pouco tendencioso dessa maneira, mas pode ser facilmente inclinado em outra direção.
Aqui estão alguns artigos que descrevi como definir variáveis de ambiente no Windows:
Quando usar sys.path.append e modificar% PYTHONPATH% é suficiente
Como gerenciar variáveis de ambiente no Windows XP
Configurando variáveis de ambiente do sistema e do usuário
Como usar o sistema global Variáveis de ambiente no Windows
Aliás, não coloque aspas no caminho do arquivo, mesmo que ele contenha espaços.
De qualquer forma, aqui está a minha opinião sobre o código para inserir (ou adicionar ao seu script de inicialização Python existente):
BTW, você também pode usar o
__repr__
truque do @ Triptych para mudarexit()
para justexit
(e idem para seu apelidoquit
):Por fim, aqui está outra coisa que altera o prompt do intérprete principal de
>>>
para cwd +>>>
:fonte
__repr__
e / ou__str__
dessa maneira é que, se você digitar>>> vars()
no console do interpretador, ele executará todos os comandos assim definidos. No meu sistema, por exemplo, limpou a tela e saiu do console. Levei um tempo para descobrir o que diabos estava acontecendo ....locals()
eglobals()
. Um decorador simples em torno dessas funções que exclui o nome e o reatribui após a invocação de função é uma solução possível ...Você tem várias maneiras de fazer isso no Windows:
1. Usando o atalho do teclado:
2. Usando o método de chamada do sistema:
3. Usando a nova linha de impressão 100 vezes:
fonte
cls
só funcionará no Windows e tornará seu programa difícil de ser multiplataforma, imprimir 100newlines
é apenas ... eww? E um atalho de teclado não é usado no programa.A maneira mais rápida e fácil, sem dúvida, é Ctrl+ L.
É o mesmo para o OS X no terminal.
fonte
minha maneira de fazer isso é escrever uma função assim:
depois ligue
clear()
para limpar a tela. isso funciona no Windows, OSX, Linux, BSD ... todos os sistemas operacionais.fonte
os.name in ('linux','osx')
e também pode querer adicionar'posix'
.os.name == 'posix'
no python 2.7.9 e 3.4.3Aqui está um snippet de versão de plataforma cruzada (Windows / Linux / Mac / provavelmente outros que você pode adicionar no if check) que fiz combinando as informações encontradas nesta pergunta:
Mesma idéia, mas com uma colher de açúcar sintático:
fonte
O limpador é legal, o bom é que não preciso digitar '()' ao redor dele. Aqui está uma pequena variação
O uso é bastante simples:
fonte
class cls
.class Cls
sercls
.cls = Cls()
class cls
e entãocls=cls()
.Essa é a coisa mais simples que você pode fazer e não requer bibliotecas adicionais. Ele limpará a tela e retornará
>>>
ao canto superior esquerdo.fonte
para o usuário mac dentro do tipo de console python
para Windows
fonte
Aqui está a solução definitiva que mescla todas as outras respostas . Recursos:
Você pode usá- lo como quiser:
Você pode importá- lo como um módulo:
Você pode chamá- lo como um script:
É verdadeiramente multiplataforma ; se não conseguir reconhecer seu sistema
(
ce
,nt
,dos
ouposix
) ele vai cair de volta para imprimir linhas em branco.Você pode baixar o arquivo [completo] aqui: https://gist.github.com/3130325
Ou se você está apenas procurando o código:
fonte
Eu uso o iTerm e o aplicativo de terminal nativo para Mac OS.
Eu apenas pressione ⌘ + k
fonte
Use ocioso. Possui muitos recursos úteis. Ctrl+F6, por exemplo, redefine o console. Fechar e abrir o console são boas maneiras de limpá-lo.
fonte
F6
não redefine o console ocioso, no entantoCTRL+F6
. Infelizmente, isso não limpa a tela. D'oh! (Python Win32 Idle versões 2.6.2, 2.7.1, 3.2).Não tenho certeza se o "shell" do Windows suporta isso, mas no Linux:
print "\033[2J"
https://en.wikipedia.org/wiki/ANSI_escape_code#CSI_codes
Na minha opinião, ligar
cls
comos
é uma má ideia em geral. Imagine se eu conseguir alterar o comando cls ou clear no seu sistema e você executar o script como administrador ou root.fonte
Estou usando o MINGW / BASH no Windows XP, SP3.
(coloque isso em .pythonstartup)
# Meu ctrl-l já funcionou, mas isso pode ajudar alguém
# # deixa o prompt na parte inferior da janela ...
import readline
readline.parse_and_bind ('\ Cl: clear-screen')
# Isso funciona no BASH porque eu também o tenho no .inputrc, mas, por algum
motivo, # é descartado quando entro no Python
readline.parse_and_bind ('\ Cy: kill-whole-line')
Eu não aguentava mais digitar 'exit ()' e fiquei encantada com os truques de martineau / Triptych:
Eu o levantei levemente (coloquei no .pythonstartup)
fonte
O comando do SO
clear
no Linux ecls
no Windows gera uma "string mágica" que você pode imprimir. Para obter a string, execute o comando com popen e salve-o em uma variável para uso posterior:Na minha máquina, a corda é
'\x1b[H\x1b[2J'
.fonte
\x1b[H
significa "mover o cursor para o canto superior esquerdo",\x1b[2J
significa "limpar toda a tela". 2) No Windows, o ANSI não é reconhecido; portanto, provavelmente não há nenhuma string mágica.Aqui estão duas maneiras legais de fazer isso:
1
2)
fonte
Se estiver no mac, um simples
cmd + k
deve fazer o truque.fonte
A maneira mais fácil é usar o módulo OS
fonte
Deve ser multiplataforma e também usa o preferido, em
subprocess.call
vez deos.system
conforme osos.system
documentos . Deve funcionar em Python> = 2.4.fonte
Que tal isso para uma clara
Isso é o mais curto possível!
fonte
Eu sou novo no python (realmente muito novo) e em um dos livros que estou lendo para me familiarizar com a linguagem que eles ensinam como criar essa pequena função para limpar o console do backlog visível e dos comandos e impressões anteriores:
Abrir shell / Criar novo documento / Criar função da seguinte maneira:
Salve-o dentro da pasta lib no diretório python (o meu é C: \ Python33 \ Lib) Da próxima vez que você precisar limpar o console, chame a função com:
é isso aí. PS: você pode nomear sua função da maneira que quiser. Vi pessoas usando "limpador", "limpador" e variações.
fonte
Estou usando o Spyder (Python 2.7) e, para limpar o console do intérprete,
%Claro
isso força a linha de comando a ir para o topo e não verei os comandos antigos anteriores.
ou clique em "opção" no ambiente do console e selecione "Reiniciar o kernel" que remove tudo.
fonte
Eu posso estar atrasado para a parte, mas aqui está uma maneira muito fácil de fazer isso
Tipo:
Então, o que você quiser limpar a tela, basta digitar seu código
Melhor maneira possível! (Crédito: https://www.youtube.com/watch?annotation_id=annotation_3770292585&feature=iv&src_vid=bguKhMnvmb8&v=LtGEp9c6Z-U )
fonte
Basta entrar
fonte
Se você não precisar fazer isso através do código, basta pressionar CTRL + L
fonte
Arch Linux (testado
xfce4-terminal
com Python 3):... Adicionado a
~/.pythonrc
clear()
limpa a telawipe()
limpa todo o buffer do terminalfonte
EDIT: Acabei de ler "windows", isto é para usuários linux, desculpe.
Na festança:
Salve-o como "whatyouwant.sh", chmod + x e execute:
ou algo diferente de python (ocioso, qualquer que seja). Isso perguntará se você realmente deseja sair; caso contrário, execute novamente o python (ou o comando que você deu como parâmetro).
Isso limpará tudo, a tela e todas as variáveis / objeto / qualquer coisa que você tenha criado / importado em python.
Em python, basta digitar exit () quando quiser sair.
fonte
OK, essa é uma resposta muito menos técnica, mas estou usando o plug-in Python para o Notepad ++ e você pode simplesmente limpar o console manualmente clicando com o botão direito do mouse e clicando em "limpar". Espero que isto seja útil a alguém!
fonte