Python

Como listar todos os arquivos de um diretório com Python

4 de agosto de 2020

Como listar todos os arquivos de um diretório com Python

Neste artigo veremos como listar todos os arquivos de um diretório com Python – para que possamos verificar quais arquivos existem ou adicionar a uma lista.

listar arquivos de diretorio com python capa

Fala programador(a), beleza? Bora aprender mais sobre trabalhar em diretórios  e arquivos com o Python!

Podemos utilizar uma estratégia com o módulo listdir, percorrendo todos os itens encontrados e verificando com o módulo isfile se é um arquivo

Veja a estratégia exemplificada:

from os import listdir
from os.path import isfile, join

path = 'teste'

files = [f for f in listdir(path) if isfile(join(path, f))]

print(files)

Desta maneira definimos um diretório para verificar na variável path, os arquivos serão armazenados em lista na variável files

Perceba que criamos um for para percorrer todos os itens de path, que é nosso caminho a pasta para verificar os arquivos

Depois verificamos se é um arquivo com isfile, se positivo armazemos o arquivo a files

E depois exibimos o resultado com um print, na variável files

Outra estratégia que podemos abordar é utilizando o módulo walk, veja:

from os import walk

files = []
path = 'teste'

for (dirpath, dirnames, filenames) in walk(path):
  files.extend(filenames)
  break

print(files)

Praticamente igual a primeira abordagem, mas utilizamos o módulo walk desta vez e criamos um for para abrigra os arquivos em files

Por último imprimimos os arquivos com um print

Conclusão

Neste artigo aprendemos como listar todos os arquivos de um diretório com Python

Utilizamos o módulo listdir para isso, além do isfile para verificar se realmente o item encontrado é um arquivo

Confira também nosso catálogo de cursos gratuitos, com aulas semanais no YouTube

Subscribe
Notify of
guest
1 Comentário
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
enzo

gostei bastante desse artigo tenho 14 anos parabens cara

1
0
Would love your thoughts, please comment.x