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.

Top comments (0)