Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. Python

Alterando Vários Arquivos Usando Python

by
Difficulty:BeginnerLength:ShortLanguages:

Portuguese (Português) translation by Erick Patrick (you can also view the original English article)

Digamos que alguém familiarizado à ortografia britânica decidiu completar sua graduação nos EUA. Foi pedido que escrevesse um artigo sobre Python na aula. Ele é conhece bem Python e escreve o artigo sem problema. Ele falou sobre imagens em uma parte do artigo e escreveu mais de uma vez a palavra grey (britânica) ao invés de gray (americana), além de neighbourhood (britânica) ao invés de neighborhood (americana). Mas agora ele está nos EUA e precisa ver todas as versões britânicas das palavras e substituí-las pelas versões americanas.

Esse é um dos vários cenários onde precisamos alterar ortografias ou erros em vários lugares.

Nessa dica rápida, mostraremos um exemplo em que temos cinco arquivos de texto onde um nome foi escrito errado. Isso é, ao invés de Abder, Adber foi escrito. O exemplo mostrará como usar Python para corrigir a escrita do nome em todos os arquivos em um diretório.

Comecemos!

Preparação dos Dados

Antes de continuarmos, preparemos os dados (arquivos de texto) que trabalharemos. Continuemos e baixemos os arquivos. Extraiamos os arquivos e tudo estará pronto.

Como vemos, temos uma pasta chamada Abder com cinco arquivos diferentes chamados 1,2,3,4 e 5.

Implementação

Cheguemos à parte legal. A primeira coisa a fazer é ler o conteúdo do diretório Abder. Para isso, usamos o método listdir(), assim:

Se tentarmos ver o conteúdo do diretório, podemos fazer o seguinte:

E nesse caso, teremos:

Isso mostra que temos cinco arquivos rtf na pasta.

Para garantir que estamos na pasta atual (a que queremos), podemo usar chdir, assim:

A próxima coisa que precisamos fazer é iterar por todos os arquivos no diretório. Podemos usar um for-loop, assim:

Como queremos ver os cinco arquivos e procurar por Adber, o que devemos fazer agora é abrí-los e ler seus conteúdos:

Agora vem um passo vital, especialmente ao falar sobre combinação de padrões, aqui, a busca por Adber: Esse passo é o uso das expressões regulares. Em Python, para usá-las, precisamos do módulo re.

Usaremos duas funções desse módulo. A primeira é compile():

Compila padrão de expressão regular em objeto de expressão regular, para ser usado numa pesquisa usando os métodos match() e search().

E o segundo é sub(), para substituir a forma errada pela correta. E faremos assim:

Por fim, queremos escrever o novo texto após a substituição de volta em nossos arquivos:

Juntando Tudo

Nessa seção, veremos como um script Python, onde procuramos por Adber em cada arquivo e substituímos por Abder, ficará:

Como vemos, Python facilita muito essas modificações em vários arquivos usando for-loop. Outra parte importante a lembrar aqui é o uso das expressões regulares para combinação de padrões.

Para saber mais sobre os laços Python, vejamos Um Lembre Suave sobre Laços em Python. E para mais informações sobre expressões regulares, vejamos Expressões Regulares em Python.

Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.