Método scandir do módulo os
O método scandir itera sobre arquivos e
subpastas que estão em uma pasta. No
parâmetro do método, definimos o caminho para a pasta. O método
retorna um objeto os.DirEntry.
Sintaxe
import os
os.scandir(caminho para o diretório)
Exemplo
Vamos descobrir a estrutura do nosso diretório:
import os
print(os.scandir('dir'))
Como resultado da execução do código, obtemos
um objeto os.DirEntry:
<nt.ScandirIterator object at 0x000001478707FF00>
Exemplo
Agora vamos iterar sobre o objeto obtido
com um loop. Para liberar os recursos do
sistema após a conclusão do loop, é necessário
fechar a iteração usando o método scandir:
import os
for file in os.scandir('dir'):
print(file)
os.scandir('dir').close()
Resultado do código executado:
<DirEntry 'dir1'>
<DirEntry 'file1.txt'>
<DirEntry 'file2.txt'>
Exemplo
Também podemos imprimir apenas os nomes dos arquivos,
aplicando ao objeto obtido o atributo name:
import os
for file in os.scandir('dir'):
print(file.name)
os.scandir('dir').close()
Resultado do código executado:
dir1
file1.txt
file2.txt
Veja também
-
objeto
DirEntrydo móduloos,
que contém arquivos e subpastas iteráveis -
método
getcwddo móduloos,
que retorna o diretório de trabalho atual -
método
makedirsdo móduloos,
que cria um diretório -
método
rmtreedo móduloshutil,
que remove recursivamente uma pasta -
método
copytreedo móduloshutil,
que copia recursivamente uma pasta -
método
path.joindo móduloos,
que une caminhos