Eu apenas comecei com Python. Quando executo um arquivo de script python no Windows, a janela de saída aparece, mas desaparece instantaneamente. Eu preciso que fique lá para que eu possa analisar minha saída. Como posso mantê-lo aberto?
191
Respostas:
Você tem poucas opções:
Execute o programa a partir de um terminal já aberto. Abra um prompt de comando e digite:
Para que isso funcione, você precisa do executável python no seu caminho. Basta verificar como editar variáveis de ambiente no Windows e adicionar
C:\PYTHON26
(ou qualquer diretório em que você instalou o python).Quando o programa terminar, você retornará ao prompt de cmd em vez de fechar a janela.
Adicione código para aguardar no final do seu script. Para Python2, adicionando ...
... no final do script, aguarda a Enterchave. Esse método é irritante porque você precisa modificar o script e precisa se lembrar de removê-lo quando terminar. Especialmente irritante ao testar os scripts de outras pessoas. Para Python3, use
input()
.Use um editor que faça uma pausa para você. Alguns editores preparados para python farão uma pausa automaticamente após a execução. Outros editores permitem que você configure a linha de comando usada para executar seu programa. Acho particularmente útil configurá-lo como "
python -i myscript.py
" ao executar. Isso leva você a um shell python após o final do programa, com o ambiente do programa carregado, para que você possa brincar ainda mais com as variáveis e chamar funções e métodos.fonte
cmd /k
é a maneira típica de abrir qualquer aplicativo de console (não apenas Python) com uma janela de console que permanecerá após o fechamento do aplicativo. A maneira mais fácil de pensar em fazer isso é pressionar Win + R, digitecmd /k
e arraste e solte o script que você deseja na caixa de diálogo Executar.fonte
cmd /k
é somente para Windows. Não posso ajudar com uma alternativa para Mac, desculpe.Inicie o script a partir da janela cmd já aberta ou, no final do script, adicione algo assim, no Python 2:
Ou, no Python 3:
fonte
Para manter sua janela aberta em caso de exceção (ainda, ao imprimir a exceção)
Python 2
Para manter a janela aberta em qualquer caso:
Python 3
Para o Python3, você precisará usar
input()
no lugar deraw_input()
e, é claro, adaptar asprint
instruções.Para manter a janela aberta em qualquer caso:
fonte
você pode combinar as respostas antes: (para usuário do Notepad ++)
pressione F5 para executar o script atual e digite o comando:
Dessa forma, você permanece no modo interativo após executar o script python do Notepad ++ e pode brincar com suas variáveis e assim por diante :)
fonte
Crie um arquivo em lotes do Windows com estas 2 linhas:
fonte
import os os.system("pause")
no final do.py
arquivoraw_input
ou outros tipos de lixo são simplesmente errado. Digite seu comando na linha de comando da maneira que o Python espera, ou use a linguagem de lote fornecida com o MS-DOS exatamente para esse fim desde agosto de 1981 .python %*
e defina-o como um dos programas "abrir com" para que você possa clicar com o botão direito do mouse em um arquivo .py para abrir uma janela de pausa ou também colocá-lo na minha pasta Anaconda3 (em PATH) como py_pause.bat agora Eu posso correr apy_pause my-prog.py all my args
partir da linha cmdNo python 2, você pode fazer isso com: raw_input ()
No python 3, você pode fazer isso com: input ()
Além disso, você pode fazê-lo com o time.sleep (time)
fonte
Usando
atexit
, você pode pausar o programa exatamente quando ele sai. Se um erro / exceção for o motivo da saída, ele será pausado após a impressão do rastreamento de pilha.No meu programa, eu coloquei a chamada
atexit.register
naexcept
cláusula, para que ela só pause se algo der errado.fonte
Eu tive um problema parecido. Com o Notepad ++, eu costumava usar o comando:
C:\Python27\python.exe "$(FULL_CURRENT_PATH)"
que fechava a janela do cmd imediatamente após o término do código.Agora estou usando o
cmd /k c:\Python27\python.exe "$(FULL_CURRENT_PATH)"
que mantém a janela do cmd aberta.fonte
No Python 3
Vai fazer o truque.
fonte
Para manter a janela aberta, concordo com o Anurag e foi isso que fiz para manter minhas janelas abertas para pequenos programas do tipo cálculo.
Isso mostraria apenas um cursor sem texto:
O próximo exemplo forneceria uma mensagem clara de que o programa foi concluído e não aguardava outro prompt de entrada no programa:
Neste próximo exemplo, eu uso aspas duplas e não funcionará porque acha que há uma quebra nas aspas entre "a" e "função", mesmo quando você a lê, sua própria mente pode entender perfeitamente:
Espero que isso ajude outras pessoas que podem estar começando e ainda não descobriram como o computador pensa ainda. Isso pode levar um tempo. : o)
fonte
Se você deseja executar seu script a partir de um atalho na área de trabalho, clique com o botão direito do mouse no arquivo python e selecione
Send to|Desktop (create shortcut)
. Em seguida, clique com o botão direito do mouse no atalho e selecione Propriedades. Na guia Atalho, selecione a caixa de texto Destino: adicione-acmd /k
na frente do caminho e clique em OK. O atalho agora deve executar seu script sem fechar e você não precisa doinput('Hit enter to close')
Observe que, se você tiver mais de uma versão do python em sua máquina, adicione o nome do executável python necessário entre cmd / k e o caminho do scipt como este:
fonte
Além de
input
eraw_input
, você também pode usar umwhile
loop infinito , como este:while True: pass
(Python 2.5 + / 3) ouwhile 1: pass
(todas as versões do Python 2/3). Isso pode usar o poder da computação, no entanto.Você também pode executar o programa na linha de comando. Digite
python
na linha de comando (Mac OS X Terminal) e deve dizerPython 3.?.?
(Sua versão do Python). Ele não mostra a sua versão do Python, ou dizpython: command not found
, procure alterar os valores PATH (valores ambientais listados acima) / tipoC:\(Python folder\python.exe
. Se for bem-sucedido, digitepython
ouC:\(Python installation)\python.exe
e o diretório completo do seu programa.fonte
Uma resposta muito tardia, mas eu criei um arquivo de lote do Windows chamado
pythonbat.bat
contendo o seguinte:e, em seguida, especificado
pythonbat.bat
como o manipulador padrão para.py
arquivos.Agora, quando clico duas vezes em um
.py
arquivo no Explorador de Arquivos, ele abre uma nova janela do console, executa o script Python e faz uma pausa (permanece aberta), até eu pressionar qualquer tecla ...Nenhuma alteração é necessária em nenhum script Python.
Ainda posso abrir uma janela do console e especificar
python myscript.py
se quero ...(Acabei de perceber que @maurizio já postou esta resposta exata)
fonte
Você pode abrir o PowerShell e digitar "python". Após a importação do Python, você pode copiar e colar o código-fonte do seu editor de texto favorito para executar o código.
A janela não fecha.
fonte
Se você deseja manter a janela de cmd aberta E estar no diretório de arquivos em execução, isso funciona no Windows 10:
fonte
Encontrei que a solução no meu ambiente py3 no win10 é apenas executar cmd ou powershell como Administrador, e a saída permaneceria na mesma janela do console, qualquer outro tipo de comando python de execução do usuário faria com que o python abrisse uma nova janela do console.
fonte
[Environment]::SetEnvironmentVariable("Path", "$env:Path;C:\Python27", "User")
print "hello world"
python hello.py
fonte
Um truque simples para manter a janela aberta:
O contador é para que o código não se repita.
fonte
A maneira mais simples:
isso deixará o código ativo por 1 minuto e depois fechá-lo.
fonte
No Windows 10, insira no início:
Estranho, mas funciona para mim! (Juntamente com input () no final, é claro)
fonte