Você trabalha com muitos arquivos todos os dias? Grande e pequeno? Desarrumado e limpo? Não importa o que sua tarefa exija, o Python facilita muito o trabalho com arquivos. Com um pouco de codificação, você pode economizar horas de trabalho e sanidade. Vamos explorar a magia da manipulação de arquivos do Python.
Lendo um arquivo de texto
Ao trabalhar com logs, arquivos de configuração, conjuntos de dados ou qualquer formato baseado em texto, a primeira habilidade necessária é a capacidade de ler um arquivo com eficiência. Python torna isso muito simples com o recurso integrado open() função e alguns métodos de leitura úteis. Embora a função open() seja o gateway padrão, a maneira “Pythônica” de lidar com arquivos é usando um gerenciador de contexto (o with declaração).
with open("server.log", "r") as f: content = f.read() print(content) Esta é a abordagem “apenas me dê tudo”. Se o arquivo for pequeno ou moderado, é perfeito. Python carrega tudo na memória como uma única string. Usando with garante que o Python feche o arquivo para você. Ele cuida da configuração e desmontagem do recurso de arquivo.
Se você quiser ler linha por linha, use esta abordagem:
with open("users.txt", "r") as f: for line in f: print(line.strip())Você também pode fazer uso do Python readline() e readlines() funções.
# Read the first line with open("data.txt", "r") as f: first_line = f.readline() # Read all lines into a list with open("data.txt", "r") as f: lines = f.readlines()O readline() A função é ótima quando você precisa apenas de um número específico de linhas. Isto é útil se você precisar acessar linhas específicas por índice, por exemplo, lines[5]. readlines() entrega cada linha como uma lista, o que é conveniente para indexação, fatiamento ou transformações rápidas.
Gravando em arquivos de texto
Eventualmente, todo desenvolvedor Python precisa colocar algo de volta em um arquivo. Talvez você esteja gerando relatórios, salvando dados limpos ou gravando logs com seu próprio script. A boa notícia é que escrever arquivos em Python é tão simples quanto lê-los. Para gravar novo conteúdo em um arquivo:
report = "Daily summary: All systems operational.n" with open("summary.txt", "w") as f: f.write(report)Abrindo um arquivo com "w" cria o arquivo se ele não existir e o sobrescreve completamente se existir. Isso é perfeito quando você gera resultados novos, como exportar um conjunto de dados processados ou gerar novamente um relatório todos os dias. Se, em vez disso, você quiser anexar a um arquivo, use o "a" opção.
log_entry = "User logged in at 14:32n" with open("activity.log", "a") as f: f.write(log_entry)Use isto quando quiser manter o que já está em um arquivo e simplesmente colar novas linhas no final. Quando você quiser escrever várias linhas, writelines() é útil.
lines = [ "applen", "bananan", "cherryn" ] with open("fruits.txt", "w") as f: f.writelines(lines)Isso é útil quando você já possui uma lista Python de conteúdo do tipo string. Apenas lembre-se de que ele não adiciona caracteres de nova linha para você, então você precisa incluí-los nas strings.
Como exploro e visualizo dados com Python e Seaborn
Você deve ter ouvido falar que Python é ótimo para análise de dados. Você está procurando uma maneira de visualizar dados que seja fácil de usar e que produza gráficos bonitos? Seaborn pode ser exatamente o que você está procurando.
Por que escolhi Seaborn
Leia o artigo >
Pesquisando em arquivos de texto
Depois de saber como ler e gravar arquivos, o próximo passo é encontrar o que procura dentro deles. Talvez você esteja verificando os logs em busca de mensagens de erro ou extraindo linhas que correspondam a um determinado padrão. Python oferece várias maneiras de pesquisar arquivos de texto. Vejamos um exemplo simples usando loops.
target = "ERROR" with open("server.log", "r") as f: for line in f: if target in line: print("Found error:", line.strip())Essa abordagem funciona perfeitamente se você estiver procurando apenas uma substring básica. Para uma filtragem um pouco mais avançada, você pode usar padrões regex para automatizá-la. Você pode usar o Python re módulo.
import re pattern = re.compile(r"Users+d+s+loggeds+in") with open("activity.log", "r") as f: for line in f: if pattern.search(line): print("Match:", line.strip()) Pense em cenários em que você precisa detectar IDs, carimbos de data/hora, formatos ou qualquer coisa com estrutura. Neste exemplo, estamos encontrando linhas onde um usuário com algum ID numérico efetuou login.
Substituindo texto em arquivos
Pesquisar é ótimo. Mas, mais cedo ou mais tarde, você precisará alterar o que está dentro de um arquivo. Python torna a substituição de texto surpreendentemente simples quando você conhece os padrões básicos. Para tarefas básicas de localização e substituição, você pode usar as operações de string do Python.
old = "ERROR" new = "INFO" with open("server.log", "r") as f: content = f.read() updated = content.replace(old, new) with open("server.log", "w") as f: f.write(updated) Este padrão é ideal quando você deseja substituir todas as ocorrências de uma determinada palavra ou frase. Se isso não for adequado para o seu caso de uso, novamente, você tem regex para tarefas avançadas de substituição. Aqui está um exemplo simples:
import re pattern = r"bUsers+(d+)b" replacement = r"Account 1" with open("activity.log", "r") as f: content = f.read() updated = re.sub(pattern, replacement, content) with open("activity.log", "w") as f: f.write(updated) Aqui, regex oferece o poder de substituir texto estruturado, não apenas uma string literal.
7 usos para o módulo aleatório em Python
Quer adicionar um pouco de imprevisibilidade ao seu código Python? O módulo aleatório é a maneira mais rápida de fazer isso. Desde a geração de números e listas embaralhadas até a simulação da aleatoriedade do mundo real, é um daqueles módulos pequenos, mas úteis, que todo programador Python deve conhecer. Vamos mergulhar!
Importando o módulo aleatório
Leia o artigo >
Contando palavras, linhas e caracteres
Suponha que você tenha um arquivo de texto e precise de algumas métricas básicas, como número de linhas, palavras e quantas vezes uma palavra aparece. Esses insights podem ser úteis para análise de texto, relatórios e processamento de dados. Python torna isso fácil. Você pode usar loops para contar.
line_count = 0 char_count = 0 with open("notes.txt", "r") as f: for line in f: line_count += 1 char_count += len(line) print("Lines:", line_count) print("Characters:", char_count) Este loop simples funciona bem mesmo para arquivos grandes. Você lê uma linha por vez, conta e acompanha o total de caracteres ao longo do caminho. Para contar palavras:
word_count = 0 with open("notes.txt", "r") as f: for line in f: words = line.split() word_count += len(words) print("Words:", word_count) Dividindo cada linha com .split() fornece uma lista de palavras, perfeita quando você faz métricas simples baseadas em palavras.
Para uma análise de palavras mais avançada, você pode aproveitar as vantagens do collections módulo, assim:
from collections import Counter counter = Counter() with open("notes.txt", "r") as f: for line in f: counter.update(line.split()) print(counter.most_common(5)) Se você precisa saber quais palavras aparecem com mais frequência, Counter é incrivelmente útil. Ele conta itens para você e pode até dizer as N palavras mais frequentes com .most_common().
Dividindo e mesclando arquivos
Arquivos de texto podem ficar enormes. Pense em trabalhar com conjuntos de dados com milhões de linhas ou exportações que são grandes demais para serem processadas de uma só vez. Às vezes você precisa dividir um arquivo em pedaços menores e outras vezes você precisa combinar vários arquivos em uma saída limpa e unificada. Python lida com ambas as tarefas com facilidade.
Uma maneira de dividir um arquivo é pegar um número fixo de linhas e gravá-las em novos arquivos. Veja como:
chunk_size = 10 file_number = 1 current_lines = [] with open("bigdata.txt", "r") as f: for i, line in enumerate(f, start=1): current_lines.append(line) if i % chunk_size == 0: output_name = f"chunk_{file_number}.txt" with open(output_name, "w") as out: out.writelines(current_lines) current_lines = [] file_number += 1 # write any remaining lines if current_lines: output_name = f"chunk_{file_number}.txt" with open(output_name, "w") as out: out.writelines(current_lines) Para mesclar vários arquivos em uma única unidade, o Python glob módulo é útil.
import glob with open("merged_output.txt", "w") as outfile: for filename in glob.glob("logs/log*"): with open(filename, "r") as infile: outfile.write(infile.read()) Aqui, glob pega todos os arquivos que começam com log no logs/ pasta e você simplesmente anexa seu conteúdo em um único arquivo. Isso é perfeito quando você está lidando com arquivos de log diários, exportações parciais de dados ou qualquer diretório cheio de arquivos que pertencem um ao outro.
Depois de dividir e mesclar em sua caixa de ferramentas, você pode automatizar todos os tipos de tarefas rotineiras. Por exemplo, combine logs semanais em um log mensal, divida grandes arquivos de entrada antes de inseri-los em um script, entre outros.
O módulo matemático em Python: 6 cálculos comuns que você pode fazer
É uma piada comum que Python seja uma ótima calculadora em seu modo interativo. Você pode torná-lo ainda melhor com o módulo matemático integrado, que contém muitas das mesmas funções matemáticas que você encontraria em uma calculadora científica ou gráfica portátil.
Constantes
Leia o artigo >
Tratamento de erros e operações seguras de arquivos
Quando você trabalha com arquivos no mundo real, as coisas nem sempre saem como planejado. As operações de arquivo podem falhar por vários motivos. O arquivo pode não existir. Seu programa pode não ter permissão para lê-lo ou gravar nele. Se o seu script travar no meio, você corre o risco de corromper dados ou deixar para trás arquivos incompletos.
Para uma E/S de arquivo mais segura, você deve usar o Python try/except bloco para lidar com erros do Python.
filename = "config.txt" try: with open(filename, "r") as f: data = f.read() print("File loaded successfully.") except FileNotFoundError: print("File not found:", filename) except PermissionError: print("You don’t have permission to read this file.") except Exception as e: print("Unexpected error:", e) Isso permite detectar problemas previsíveis, como arquivos ausentes ou problemas de permissão. Outro problema comum que você pode enfrentar é a codificação. Portanto, certifique-se de lidar com eles quando não tiver certeza de qual codificação um arquivo pode usar.
try: with open("encoding.txt", "r", encoding="utf-8") as f: content = f.read() print("File loaded successfully.") except UnicodeDecodeError: print("File encoding is not UTF-8. Trying fallback…") with open("encoding.txt", "r", encoding="latin-1") as f: content = f.read() print("Fallback load succeeded:") print(content) O manuseio da codificação evita travamentos ao ler arquivos de ambientes mistos.
Como usar o módulo de estatísticas Python
Python tem algumas bibliotecas maravilhosas para análise estatística, mas elas podem ser um exagero para tarefas simples. A biblioteca de estatísticas integrada pode ser o que você deseja. Aqui estão algumas coisas que você pode fazer com isso. Você não precisa mais se lembrar de fórmulas complicadas ou consultar tabelas.
O que é o módulo de estatísticas Python?
Leia o artigo >
Isso cobre algumas das tarefas mais comuns relacionadas a arquivos que você pode realizar e até mesmo automatizar usando Python. EU Se você estiver interessado em aprender mais sobre Python e seus vários recursos, tente verificar o módulo os ou explorar a função open().

