DEV Community

Francisco Júnior
Francisco Júnior

Posted on

Manipulação de Arquivos e Exceções em Python

A manipulação de arquivos e o tratamento de exceções são tópicos fundamentais na programação em Python. Neste artigo, exploraremos como trabalhar com arquivos, realizar operações de leitura e escrita e como gerenciar exceções para lidar com erros de forma eficaz.

Leitura e Escrita de Arquivos

Python oferece recursos poderosos para ler e escrever em arquivos. Você pode criar, abrir, ler, escrever e fechar arquivos facilmente. Abaixo, veremos os conceitos básicos de leitura e escrita de arquivos.

Leitura de Arquivos

Para ler um arquivo, você pode usar a função open() com o modo de leitura ("r") e, em seguida, ler o conteúdo do arquivo com os métodos read(), readline() ou readlines().

Exemplo de leitura de arquivo:

# Abrir um arquivo para leitura
with open("exemplo.txt", "r") as arquivo:
    conteúdo = arquivo.read()
    print(conteúdo)
Enter fullscreen mode Exit fullscreen mode

Escrita de Arquivos

Para escrever em um arquivo, use a função open() com o modo de escrita ("w") e, em seguida, escreva o conteúdo no arquivo usando o método write().

Exemplo de escrita em arquivo:

# Abrir um arquivo para escrita
with open("novo_arquivo.txt", "w") as arquivo:
    arquivo.write("Este é um novo arquivo.\n")
    arquivo.write("Com várias linhas.")
Enter fullscreen mode Exit fullscreen mode

Lembre-se de que o uso da instrução with garante que o arquivo seja fechado automaticamente após o término do bloco, evitando vazamentos de recursos.

Gerenciamento de Exceções

O gerenciamento de exceções é essencial para lidar com erros durante a execução de um programa. Python oferece uma maneira elegante de lidar com exceções usando as palavras-chave try, except, finally e raise.

Tratando Exceções com try e except

Use o bloco try para envolver o código que pode causar uma exceção, e o bloco except para lidar com a exceção se ela ocorrer.

Exemplo de tratamento de exceção:

try:
    número = int(input("Digite um número: "))
    resultado = 10 / número
    print(f"Resultado: {resultado}")
except ZeroDivisionError:
    print("Divisão por zero não é permitida.")
except ValueError:
    print("Você não digitou um número válido.")
Enter fullscreen mode Exit fullscreen mode

O Bloco finally

O bloco finally é opcional e é executado sempre, independentemente de ter ocorrido ou não uma exceção. É útil para ações de limpeza, como fechamento de arquivos.

Exemplo com bloco finally:

try:
    arquivo = open("arquivo.txt", "r")
    conteúdo = arquivo.read()
except FileNotFoundError:
    print("O arquivo não foi encontrado.")
finally:
    arquivo.close()
Enter fullscreen mode Exit fullscreen mode

Levantando Exceções Personalizadas com raise

Você pode levantar exceções personalizadas usando a palavra-chave raise. Isso é útil para indicar erros específicos em seu código.

Exemplo de exceção personalizada:

class ValorNegativoError(Exception):
    def __init__(self, mensagem="O valor não pode ser negativo"):
        self.mensagem = mensagem
        super().__init__(self.mensagem)

def calcular_idade(idade):
    if idade < 0:
        raise ValorNegativoError("Idade não pode ser negativa.")
    return idade

try:
    idade = calcular_idade(-5)
except ValorNegativoError as erro:
    print(erro)
Enter fullscreen mode Exit fullscreen mode

Conclusão

A manipulação de arquivos e o tratamento de exceções são habilidades fundamentais na programação Python. A capacidade de ler, escrever e gerenciar arquivos é essencial para muitos aplicativos do mundo real. Além disso, o tratamento de exceções permite que você lide com erros de forma eficaz e forneça feedback adequado aos usuários.

Dominar esses conceitos é essencial para escrever código Python robusto e eficiente. À medida que você avança em sua jornada de programação, pratique essas habilidades em projetos reais para se tornar um programador Python mais competente.

Sentry image

Hands-on debugging session: instrument, monitor, and fix

Join Lazar for a hands-on session where you’ll build it, break it, debug it, and fix it. You’ll set up Sentry, track errors, use Session Replay and Tracing, and leverage some good ol’ AI to find and fix issues fast.

RSVP here →

Top comments (0)

Heroku

This site is powered by Heroku

Heroku was created by developers, for developers. Get started today and find out why Heroku has been the platform of choice for brands like DEV for over a decade.

Sign Up

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay