Python - Listar arquivos em um diretório
Diretório, também conhecido como pasta, é uma estrutura organizacional de unidade no sistema de arquivos do computador para armazenar e localizar arquivos ou mais pastas. Python agora oferece suporte a uma série de APIs para listar o conteúdo do diretório. Por exemplo, podemos usar os Path.iterdir, os.scandir , os.walk , Path.rglob , ou os.listdir funções.
Diretório em uso: gfg
Método 1: módulo OS
- O método os.listdir() obtém a lista de todos os arquivos e diretórios em um diretório especificado. Por padrão, é o diretório atual.
Sintaxe :
os.listdir (caminho)
Parâmetros :
Caminho do diretório
Tipo de retorno : retorna uma lista de todos os arquivos e diretórios no caminho especificado
Exemplo 1:
import
os
path
=
"C://Users//Vanshi//Desktop//gfg"
dir_list
=
os.listdir(path)
(
"Files and directories in '"
, path,
"' :"
)
(dir_list)
Resultado:
Programa 2: Para obter apenas arquivos txt.
import
os
for
x
in
os.listdir():
if
x.endswith(
".txt"
):
(x)
Resultado:
- OS.walk() gera nomes de arquivos em uma árvore de diretórios.
import
os
path
=
"C://Users//Vanshi//Desktop//gfg"
list
=
[]
for
(root, dirs,
file
)
in
os.walk(path):
for
f
in
file
:
if
'.txt'
in
f:
(f)
Resultado:
- os.scandir() é compatível com Python 3.5 e superior.
Sintaxe:
os.scandir (caminho = '.')
Tipo de retorno: retorna um iterador do objeto os.DirEntry.
Exemplo:
import
os
path
=
"C://Users//Vanshi//Desktop//gfg"
obj
=
os.scandir()
(
"Files and Directories in '% s':"
%
path)
for
entry
in
obj:
if
entry.is_dir()
or
entry.is_file():
(entry.name)
Resultado:
Método 2: usando glob
O módulo glob é usado para recuperar nomes de arquivos / caminhos que correspondem a um padrão especificado.
- método glob()
Com glob, podemos usar curingas (“*,?, [Intervalos]) para tornar a recuperação de caminho mais simples e conveniente.
import
glob
path
=
"C:\\Users\\Vanshi\\Desktop\\gfg"
(
'\nNamed with wildcard *:'
)
for
files
in
glob.glob(path
+
'*'
):
(files)
(
'\nNamed with wildcard ?:'
)
for
files
in
glob.glob(path
+
'?.txt'
):
(files)
(
'\nNamed with wildcard ranges:'
)
for
files
in
glob.glob(path
+
'/*[0-9].*'
):
(files)
Resultado:
- O método iglob() pode ser usado para imprimir nomes de arquivos recursivamente se o parâmetro recursivo estiver definido como True.
Sintaxe:
glob.glob (pathname, *, recursive = False)
Exemplo:
import
glob
path
=
"C:\\Users\\Vanshi\\Desktop\\gfg**\\*.txt"
(
"\nUsing glob.iglob()"
)
for
file
in
glob.iglob(path, recursive
=
True
):
(
file
)
Resultado:
As postagens do blog Acervo Lima te ajudaram? Nos ajude a manter o blog no ar!
Faça uma doação para manter o blog funcionando.
70% das doações são no valor de R$ 5,00...
Diógenes Lima da Silva