Dominando Operações com Diretórios e Arquivos em Python
Gerenciamento de Diretórios e Arquivos em Python
Descubra como criar, navegar, listar, renomear e deletar diretórios e arquivos em Python com exemplos práticos e claros.
Vídeo: Módulo os do Python
Diretório Python
Quando seu projeto cresce, organizar código em pastas bem estruturadas torna-se essencial. Um diretório — ou pasta — é um contêiner para arquivos e subdiretórios, e o módulo os do Python fornece ferramentas robustas para gerenciá-los.
Obter Diretório Atual
Use os.getcwd() para recuperar o diretório de trabalho atual como string. Se precisar de representação em bytes, os.getcwdb() fará o trabalho.
import os
os.getcwd() # 'C:\\Program Files\\PyScripter'
os.getcwdb() # b'C:\\Program Files\\PyScripter'
A barra dupla indica sequência de escape. Usar print() renderiza o caminho corretamente:
print(os.getcwd()) # C:\Program Files\PyScripter
Mudando Diretório
Altere o diretório de trabalho atual com os.chdir(caminho). O argumento caminho pode usar barras normais ou invertidas; apenas lembre-se de escapar barras invertidas ou usar raw strings.
os.chdir('C:\\Python33')
print(os.getcwd()) # C:\Python33
Listar Diretórios e Arquivos
Recupere todo arquivo e subdiretório em pasta alvo com os.listdir(caminho). Se caminho omitido, função opera no diretório de trabalho atual.
print(os.getcwd()) # C:\Python33
os.listdir() # ['DLLs', 'Doc', 'include', 'Lib', 'libs', 'LICENSE.txt', 'NEWS.txt', 'python.exe', 'pythonw.exe', 'README.txt', 'Scripts', 'tcl', 'Tools']
os.listdir('G:\\') # ['$RECYCLE.BIN', 'Movies', 'Music', 'Photos', 'Series', 'System Volume Information']
Criando Novo Diretório
Crie pasta com os.mkdir(caminho). Se caminho for relativo, novo diretório aparece no diretório de trabalho atual.
os.mkdir('test')
print(os.listdir()) # ['test']
Renomeando Diretório ou Arquivo
A mesma função os.rename(origem, destino) lida com ambos arquivos e pastas. Forneça nome antigo como origem e novo nome desejado como destino:
os.listdir() # ['test']
os.rename('test', 'new_one')
print(os.listdir()) # ['new_one']
Removendo Diretório ou Arquivo
Delete arquivo com os.remove(caminho). Para remover pasta vazia, use os.rmdir(caminho):
os.listdir() # ['new_one', 'old.txt']
os.remove('old.txt')
print(os.listdir()) # ['new_one']
os.rmdir('new_one')
print(os.listdir()) # []
Nota: os.rmdir() só funciona em diretórios vazios.
Se precisar deletar pasta que contém arquivos ou subpastas, a função shutil.rmtree() do módulo shutil é o caminho:
os.listdir() # ['test']
os.rmdir('test') # Traceback... OSError: [WinError 145] The directory is not empty: 'test'
import shutil
shutil.rmtree('test')
print(os.listdir()) # []
python
- Dominando Gerenciamento de Memória em C++: Uso Expert de new e delete
- Palavras-chave e Identificadores em Python: Dominando Palavras Reservadas e Convenções de Nomenclatura
- Declarações, Indentação e Comentários em Python: Guia Claro
- Variáveis, Constantes e Literais em Python – Guia Completo
- Dominando Conversão e Casting de Tipos em Python: Guia Completo
- Dominando I/O e Importação de Módulos em Python: Guia Prático
- Entendendo Variáveis Globais, Locais e Nonlocal em Python
- Dominando Números, Conversão de Tipos e Matemática em Python
- Dominando Erros e Exceções Built-in do Python
- Obter Data e Hora Atuais em Python: Guia Prático