Como parar a execução de um script em Python
Neste artigo você vai aprender a como parar a execução de um script em Python, ou seja, fazer com que o programa não processe mais informações
Para parar a execução de um script em Python, importe o módulo sys e chame sys.exit(). Essa é a forma recomendada: ela levanta a exceção SystemExit, executa as rotinas de limpeza (blocos finally) e encerra o interpretador. Qualquer linha depois do sys.exit() não roda. Você pode passar um código de status: sys.exit(0) para término bem-sucedido e um valor diferente de zero para término anormal. Alternativas: raise SystemExit tem o mesmo efeito; exit() e quit() existem, mas são só para o modo interativo; os._exit() encerra na hora, sem limpeza; e Ctrl+C interrompe o script manualmente, pela exceção KeyboardInterrupt.

Fala programador(a), beleza? Bora aprender mais sobre a execução de programas e também sobre a linguagem Python!
Para cancelar a execução de um sistema em Python vamos precisar importar sys
O sys é um módulo que possui funções para lidar com o software em execução e sistema operacional
Formação Claude Code
Domine Claude Code do absoluto zero até o avançado
- 120 aulas
- 4 projetos
- 9h 48min
Vamos utilizar a função exit, de sys
Esta função vai realizar a parada do programa, fazendo com que quaisquer linhas abaixo desta instrução não sejam mais interpretadas
Veja um exemplo prático de exit:
import sys
print("Aqui executa")
sys.exit()
print("Aqui não")
Veja que precisamos realizar a importação, se não não teremos acesso as funções de sys, então a primeira instrução é a importação do módulo
Depois criamos um print que é executado, apenas para exemplos
E incluimos o exit, que vai realizar a parada do script
O próximo print então não será executado, pois o software já não estará mais funcional naquele ponto
E assim realizamos o cancelamento de execução de um script em Python!
Conclusão
Neste artigo você aprendeu a como parar a execução de um script em Python
Utilizamos o módulo sys, e do módulo vamos executar a função exit
Esta função tem como premissa parar a execução de um software, que é exatamente o que precisamos!
Note que precisamos importar o módulo sys, se não exit não estará disponível
Confira nossos cursos gratuitos no Youtube, com vídeos todos os dias!
Se inscreva e ative o sininho para receber as notificações e aprender mais ainda sobre desenvolvimento web!
Veja também nosso catálogo de cursos na Udemy, todos com exercícios e projetos práticos, nas mais diversas tecnologias
O link acima contém um cupom de desconto para os cursos!

VPS Hostinger para seu sistema
10% OFF extraVPS com SSD NVMe e backups semanais. O cupom MATHEUSHORADECODAR é aplicado automaticamente pelo link.
Ver planos com 10% OFF →Outras formas de parar um script (e quando usar cada uma):
O sys.exit() é a forma recomendada, mas não é a única
Se você chegou aqui procurando alternativa, se liga nas opções e no PORQUÊ de cada uma
raise SystemExit: tem exatamente o mesmo efeito do sys.exit(), porque sys.exit() por baixo dos panos só levanta essa exceção mesmo
import sys raise SystemExit
exit() e quit(): funcionam no terminal, param o programa, mas são builtins que vêm do módulo site, pensados pro interpretador interativo
Ou seja, ótimos pra testar rapidinho no shell, não recomendados dentro de um script de verdade
os._exit(): esse é o pesado, encerra o processo na hora, sem rodar as rotinas de limpeza e sem esvaziar os buffers de saída
import os os._exit(0)
É de baixo nível, usado em casos raros, tipo dentro de um processo filho depois de um fork
Pro dia a dia, fica no sys.exit() e vive feliz =)
Como sair com um código de status:
O sys.exit() aceita um argumento opcional, que é o status de saída do programa
import sys sys.exit(0)
A regra é simples: 0 significa que terminou tudo certo, e qualquer valor diferente de zero indica término anormal (útil pra sinalizar erro pra quem chamou o script)
A faixa usual vai de 0 a 127
Se você passar None, é o mesmo que 0
E se passar outro objeto qualquer, ele é impresso no stderr e o código de saída vira 1
Parando a execução manualmente com Ctrl+C:
Nem sempre você quer parar o script por código, às vezes você só quer MATAR ele que travou ou entrou em loop infinito
Pra isso, no terminal onde o script tá rodando, aperta Ctrl+C
Isso levanta a exceção KeyboardInterrupt e interrompe a execução na hora
Um detalhe importante: o KeyboardInterrupt herda de BaseException, e não de Exception

Crie sistemas com IA para vender
Prompts, modelos e checklists para criar e publicar seu sistema com IA e preparar a oferta para o primeiro cliente.
Quero o e-book gratuito Receba o livro e os bônus no seu e-mail.Que diferença faz? Se você tem um try com except Exception por aí, ele NÃO vai capturar o Ctrl+C sem querer, e isso é de propósito, pra você sempre conseguir interromper o programa
Se liga numa pegadinha que pega muita gente: como o sys.exit() só levanta a exceção SystemExit, se você tiver um try capturando tudo em volta da chamada, dá pra engolir a saída sem querer e o script não para
O mesmo vale pro Ctrl+C: um except Exception genérico não segura o KeyboardInterrupt, porque ele herda de BaseException, e é bom que seja assim mesmo
Por isso, pra script de verdade, a gente fica no sys.exit() e deixa exit() e quit() só pra brincar no terminal interativo
Perguntas frequentes
Qual a diferença entre sys.exit(), exit() e quit()?
sys.exit() é a forma recomendada pra scripts: levanta a exceção SystemExit e encerra depois de rodar as rotinas de limpeza. Já exit() e quit() são builtins adicionados pelo módulo site, feitos pro interpretador interativo, então não são recomendados dentro de scripts de produção. Na prática os três param o programa, mas em código pra valer você usa sys.exit()
Como parar um script Python pelo teclado?
Aperte Ctrl+C no terminal onde o script está rodando. Isso levanta a exceção KeyboardInterrupt, que interrompe a execução. Como ela herda de BaseException, um try/except comum que captura Exception não pega ela sem querer
Como sair de um script Python com código de erro?
Passe um inteiro pro sys.exit(). sys.exit(0) sinaliza término bem-sucedido e qualquer valor diferente de zero indica término anormal. A faixa usual vai de 0 a 127. Se você passar None, equivale a 0, e se passar outro objeto, ele é impresso no stderr e o código de saída vira 1
sys.exit() serve pra sair de um loop?
Não é o ideal. Pra sair só de um loop use break, que interrompe o loop e o programa segue dali pra frente. O sys.exit() encerra o programa inteiro, não só o loop, então use ele quando quer realmente terminar o script
O que é os._exit() e quando usar?
os._exit() encerra o processo na hora, sem chamar as rotinas de limpeza nem esvaziar os buffers de saída. É de baixo nível, usado em casos raros, tipo num processo filho depois de um fork. Pro dia a dia, prefira sys.exit()
sys.exit() sempre encerra o programa na hora?
Nem sempre. Como ele só levanta a exceção SystemExit, os blocos finally rodam antes e a saída pode ser interceptada num nível externo. Ele só encerra de fato quando é chamado da thread principal e a exceção SystemExit não é capturada
Leia também
Formações
Formação Vibe Coding
Do Prompt ao Produto: Crie Software Real com IA
- 474 aulas
- 20 projetos
- 39h 30min
Blog | Mais populares

Como limitar números decimais em Python?
Neste artigo vamos aprender como limitar números decimais em Python, de uma forma simples com recursos da própria linguagem. Pra limitar casas decimais em Python […]

Como inverter uma string em Python
Neste artigo você vai aprender a como inverter uma string em Python, de uma maneira simples para você utilizar em seus programas Conteúdo também disponível […]
Como programar Python [dicas e códigos iniciantes aqui]
Python é uma linguagem de programação muito popular e uma de alto nível utilizada em diferentes tipos de aplicações, como para o desenvolvimento web, em Machine […]
