Pular para o conteúdo
murad.guide

Python

Capítulo 20

Organizar pastas e arquivos

3 min de leitura 562 palavras 1 gravura

Neste capítulo você vai criar pastas, copiar e listar arquivos com pathlib. O projeto de estudo é o Caderno da Mangueira, horto comunitário fictício em Belém.

Seu ponto de partida

Você sabe abrir pastas e um terminal. O exemplo deste capítulo é 20-pastas-arquivos, no pacote que acompanha o volume. Trabalhe sobre uma cópia da pasta inicio/ e preserve o original; a versão de referência fica na raiz do exemplo.

No terminal, entre na pasta da cópia e rode:

python main.py

Não publique nada. Tudo fica no seu computador.

Como praticar

Leia → confira o código → mude uma coisa → preveja → rode de novo → confira. Investigue o erro antes de avançar. Ao terminar cada experiência, restaure a mudança pedida quando o capítulo indicar.

Criar pastas, copiar e listar arquivos com pathlib.

Organize pastas

pathlib + shutil para criar e copiar. O Caderno da Mangueira registra mudas, tarefas e colheitas fictícias. Cada capítulo acrescenta uma peça.

Faça na sua cópia

Abra main.py e localize o trecho desta lição. A implementação completa está no pacote de exemplos que acompanha este volume.

shutil.copy2(arquivo, destino)

Mude uma coisa e preveja

Altere somente um valor ou uma mensagem ligada a esta lição.

Anote o que espera observar antes de rodar de novo.

Recarregue e confira

Rode python main.py. Compare com a previsão. Se divergiu, leia o erro por completo.

Se não acontecer

Confirme a pasta do terminal e o arquivo editado. Na dúvida, compare com a referência da raiz do exemplo.

Apague com cuidado

Neste volume só a pasta saida/ do exemplo.

Faça na sua cópia

Repita o ciclo com o segundo ponto do capítulo. Mantenha o restante estável.

Mude uma coisa e preveja

Faça uma mudança pequena e diferente da primeira lição.

Anote a previsão.

Recarregue e confira

O console deve refletir só o que você alterou.

Se não acontecer

Releia a mensagem de erro de baixo para cima. Corrija uma causa por vez.

Erro comum

Caminho absoluto de outra máquina.

Faça na sua cópia

Provoca o erro de propósito na cópia, observe a mensagem, depois restaure o arquivo bom.

Mude uma coisa e preveja

Preveja a mensagem antes de provocar o erro.

Recarregue e confira

A mensagem deve apontar o arquivo e a linha. Restaure em seguida.

Se não acontecer

Se o erro for outro, você mudou demais. Volte à referência e refaça só o passo pedido.

Atividades

Faça na cópia. Não olhe as respostas antes de tentar.

  1. Explique com suas palavras o objetivo: Criar pastas, copiar e listar arquivos com pathlib.
  2. Faça uma mudança diferente da lição e diga o que esperava versus o que viu.
  3. Escreva um caso em que o programa deve falhar de propósito e como você reconhece o erro.

Critério de avanço

Você avança quando criar pastas, copiar e listar arquivos com pathlib.

Respostas comentadas

Atividade 1

O objetivo amarra a etapa ao Caderno da Mangueira; sem isso o comando fica solto.

Atividade 2

Prever antes de rodar mostra se você entendeu a regra ou só imitou o código.

Atividade 3

Provocar o erro e ler a mensagem é parte do ofício, não sinal de fracasso.

O arquivo completo

Referência do exemplo 20-pastas-arquivos, reproduzida aqui para que você possa conferir sem sair da página.

main.py

from pathlib import Path
import shutil

base = Path(__file__).parent / "saida"
bruto = base / "bruto"
organizado = base / "organizado"
if base.exists():
    shutil.rmtree(base)
bruto.mkdir(parents=True)
organizado.mkdir(parents=True)
(arquivo := bruto / "nota.txt").write_text("canteiro 1", encoding="utf-8")
shutil.copy2(arquivo, organizado / arquivo.name)
print(sorted(p.name for p in organizado.iterdir()))