English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Ferramentas Online

Tutorial Básico do Python

Funções do Python

Tipos de Dados do Python

Controle de Fluxo do Python

Operações de Arquivos do Python

Objetos e Classes do Python

Data e Hora do Python

Conhecimento Avançado do Python

Gerenciamento de Diretórios e Arquivos no Python

Manual de Referência do Python

Neste artigo, você aprenderá sobre a gestão de arquivos e diretórios no Python, ou seja, criar um diretório, renomeá-lo, listar todos os diretórios e usá-los.

O que são diretórios no Python?Se seu programa Pythonpara lidararquivosSe houver muitos arquivos a serem tratados

Um diretório ou pasta é uma coleção de arquivos e subdiretórios. O Python tem o os Móduloque nos oferece muitas métodos úteis para usar diretórios (e arquivos).

Obter diretório atual

Podemos usar o método getcwd() para obter o diretório de trabalho atual.

Este método retorna o diretório de trabalho atual na forma de string. Também podemos obtê-lo como um objeto de bytes usando o método getcwdb().

>>> import os
>>> os.getcwd()
'C:\\Program Files\\PyScripter'
>>> os.getcwdb()
b'C:\\Program Files\\PyScripter'

Barras invertidas adicionais representam sequências de escape. A função print() apresentará corretamente.

>>> print(os.getcwd())
C:\Program Files\PyScripter

Alterar diretório

Podemos usar o método chdir() para alterar o diretório de trabalho atual.

A nova pasta que queremos alterar deve ser fornecida como uma string para este método. Podemos usar barras invertidas (/)ou barras invertidas(\)para separar caminhos.

É mais seguro usar sequências de escape ao usar barras invertidas.

>>> os.chdir('C:\\Python33)
>>> print(os.getcwd())
C:\Python33

Listar diretório e arquivo

Pode usar o método listdir() para saber todos os arquivos e subdiretórios dentro do diretório.

Este método usa um caminho e retorna a lista de subdiretórios e arquivos nele.

>>> 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'

Criar novo diretório

Podemos usar o método mkdir() para criar um novo diretório.

Este método usa o caminho do novo diretório. Se não for especificado o caminho completo, um novo diretório será criado no diretório de trabalho atual.

>>> os.mkdir('test')
>>> os.listdir()
['test']

Renomear diretório ou arquivo

O método rename() pode renomear diretórios ou arquivos.

O primeiro parâmetro é o nome antigo, enquanto o novo nome deve ser o segundo parâmetro.

>>> os.listdir()
['test']
>>> os.rename('test','new_one')
>>> os.listdir()
['new_one']

Deletar diretório ou arquivo

O método remove() pode deletar (excluir) arquivos.

Da mesma forma, o método rmdir() deletará um diretório vazio.

>>> os.listdir()
['new_one', 'old.txt']
>>> os.remove('old.txt')
>>> os.listdir()
['new_one']
>>> os.rmdir('new_one')
>>> os.listdir()
[]

Mas, note que o método rmdir() pode apenas deletar diretórios vazios.

Para deletar um diretório não vazio, podemos usar o método rmtree() interno do módulo shutil.

>>> os.listdir()
['test']
>>> os.rmdir('test')
Traceback (última chamada mais recente):
...
OSError: [WinError 145]] O diretório não está vazio: 'test'
>>> import shutil
>>> shutil.rmtree('test')
>>> os.listdir()
[]