Python Programming

Manipulação de Arquivos em Python: Um Guia Completo

Spread the love

Este tutorial fornece um guia abrangente para manipulação de arquivos em Python. Arquivos são cruciais para armazenamento e recuperação de dados persistentes, permitindo que seus programas interajam com dados além de seu tempo de execução. Abordaremos operações fundamentais de arquivos, desde abrir e fechar arquivos até ler, escrever, renomear e excluí-los. Também exploraremos as melhores práticas para tratamento de erros e gerenciamento eficiente de arquivos.

Sumário:

  1. Abrindo Arquivos
  2. Objetos de Arquivo e Gerenciadores de Contexto
  3. Escrevendo em Arquivos
  4. Lendo de Arquivos
  5. Operações do Sistema de Arquivos: Renomeando e Excluindo
  6. Tratando Exceções

1. Abrindo Arquivos

A função open() é a pedra angular da interação com arquivos em Python. Ela recebe o nome do arquivo (uma string) e um modo como argumentos principais. O modo determina como o arquivo será acessado (leitura, escrita, anexação, etc.).

Modos comuns incluem:

  • 'r': Leitura (padrão). Abre para leitura. Gera um erro se o arquivo não existir.
  • 'w': Escrita. Abre para escrita. Sobrescreve o arquivo se ele existir; cria-o se não existir.
  • 'a': Anexar. Abre para escrita. Anexa dados ao final se o arquivo existir; cria-o se não existir.
  • 'x': Criação exclusiva. Cria um novo arquivo. Gera um erro se o arquivo já existir.
  • 'b': Modo binário. Para arquivos não-texto (imagens, executáveis). Pode ser combinado com outros modos (por exemplo, 'rb', 'wb').
  • 't': Modo texto (padrão). Para arquivos de texto.

# Abre um arquivo para escrita
file = open("meu_arquivo.txt", "w")

# Abre um arquivo para leitura
file = open("meu_arquivo.txt", "r")

# Abre um arquivo em modo binário para leitura
file = open("imagem.jpg", "rb")

2. Objetos de Arquivo e Gerenciadores de Contexto

open() retorna um objeto de arquivo, fornecendo métodos para interação com o arquivo. Uma prática recomendada crucial é usar gerenciadores de contexto (instrução with) para garantir que os arquivos sejam fechados automaticamente, mesmo que ocorram erros:


with open("meu_arquivo.txt", "w") as file:
    file.write("Este é algum texto.n")  # Arquivo fechado automaticamente após este bloco

with open("meu_arquivo.txt", "r") as file:
    conteudo = file.read()
    print(conteudo)

3. Escrevendo em Arquivos

O método write() escreve uma string no arquivo. Para escrever várias linhas, use n para novas linhas.


with open("meu_arquivo.txt", "w") as file:
    file.write("Linha 1n")
    file.write("Linha 2n")

4. Lendo de Arquivos

Vários métodos lêem dados do arquivo:

  • read(): Lê todo o conteúdo do arquivo em uma única string.
  • readline(): Lê uma única linha.
  • readlines(): Lê todas as linhas em uma lista de strings.
  • Iteração: Você pode iterar diretamente sobre um objeto de arquivo para ler linhas uma a uma.

with open("meu_arquivo.txt", "r") as file:
    conteudo = file.read()
    print(conteudo)

    file.seek(0) # Redefine o ponteiro do arquivo
    linha = file.readline()
    print(linha)

    file.seek(0) # Redefine o ponteiro do arquivo
    linhas = file.readlines()
    print(linhas)

    file.seek(0) # Redefine o ponteiro do arquivo
    for linha in file:
        print(linha, end="") #end="" evita nova linha extra

5. Operações do Sistema de Arquivos: Renomeando e Excluindo

O módulo os fornece funções para manipulação do sistema de arquivos:


import os

# Renomeia um arquivo
os.rename("meu_arquivo.txt", "novo_arquivo.txt")

# Remove um arquivo
os.remove("novo_arquivo.txt")

6. Tratando Exceções

Sempre trate possíveis exceções (FileNotFoundError, IOError, etc.) ao trabalhar com arquivos:


try:
    with open("meu_arquivo.txt", "r") as file:
        # ... operações com arquivo ...
except FileNotFoundError:
    print("Arquivo não encontrado.")
except IOError as e:
    print(f"Ocorreu um erro de I/O: {e}")

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *