Como posso listar todos os arquivos de um diretório em Python e adicioná-los a uma lista
?
os.listdir()
lhe dará tudo que's em um diretório - arquivos e diretórios.
Se você quiser arquivos just, você pode filtrar isso utilizando os.path
:
from os import listdir
from os.path import isfile, join
onlyfiles = [f for f in listdir(mypath) if isfile(join(mypath, f))]
ou você pode utilizar os.walk()
que renderá duas listas para cada diretório que ele visitar - dividindo em arquivos e dirs para você. Se você quiser apenas o diretório superior, você pode apenas quebrar a primeira vez que ele render
from os import walk
f = []
for (dirpath, dirnames, filenames) in walk(mypath):
f.extend(filenames)
break
Eu prefiro utilizar o módulo glob
, pois ele faz correspondência de padrões e expansão.
import glob
print(glob.glob("/home/adam/*.txt"))
Ele irá retornar uma lista com os arquivos consultados:
['/home/adam/file1.txt', '/home/adam/file2.txt', .... ]