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.

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more

Top comments (0)

AWS Security LIVE!

Tune in for AWS Security LIVE!

Join AWS Security LIVE! for expert insights and actionable tips to protect your organization and keep security teams prepared.

Learn More

👋 Kindness is contagious

Explore a sea of insights with this enlightening post, highly esteemed within the nurturing DEV Community. Coders of all stripes are invited to participate and contribute to our shared knowledge.

Expressing gratitude with a simple "thank you" can make a big impact. Leave your thanks in the comments!

On DEV, exchanging ideas smooths our way and strengthens our community bonds. Found this useful? A quick note of thanks to the author can mean a lot.

Okay