Laço Através de Ficheiros em Directório em Python
-
Percorrer os arquivos em um diretório em Python usando o método
os.listdir()
-
Loop através de arquivos em um diretório em Python usando o método
pathlib.path().glob()
-
Faça um loop pelos arquivos em um diretório em Python usando o método
os.walk()
-
Faça um loop pelos arquivos em um diretório em Python usando o método
iglob()
Este tutorial explicará diferentes maneiras de percorrer os arquivos em um diretório no Python. Precisamos procurar um arquivo em um diretório para implementar recursos como compartilhamento de arquivos, visualização de arquivos ou carregamento de arquivos para realizar alguma ação nos dados salvos nele.
Suponha que temos um nome de arquivo e precisamos ler os dados desse arquivo, precisamos de algum método para percorrer os arquivos no diretório para encontrar o arquivo de que precisamos. Os vários métodos usados para percorrer os arquivos em um diretório em Python são explicados a seguir.
Percorrer os arquivos em um diretório em Python usando o método os.listdir()
O método listdir()
do módulo os
pega o caminho do diretório como entrada e retorna uma lista de todos os arquivos nesse diretório. Como queremos encontrar o arquivo específico no diretório, teremos que percorrer os nomes dos arquivos para encontrar o arquivo necessário. O exemplo de código abaixo demonstra como encontrar um arquivo específico iterando através do arquivo usando o método listdir()
em Python.
import os
files = os.listdir("Desktop/myFolder")
myfile = "filename.txt"
for filename in files:
if filename == myfile:
continue
Loop através de arquivos em um diretório em Python usando o método pathlib.path().glob()
O método path()
do módulo pathlib
pega a string do caminho do diretório como entrada e retorna a lista de todos os caminhos dos arquivos no diretório e subdiretórios.
Suponha que o arquivo que queremos encontrar seja um arquivo .txt
, podemos obter os caminhos de todos os arquivos .txt
usando o método path().glob()
. O exemplo de código a seguir demonstra como percorrer todos os arquivos .txt
em um diretório usando o método path
em Python.
from pathlib import Path
pathlist = Path("Desktop/myFolder").glob("**/*.txt")
myfile = "filename.txt"
for path in pathlist:
if path.name == myfile:
continue
O padrão **/*.txt
retorna todos os arquivos com a extensão txt
na pasta atual e suas subpastas. path.name
retorna apenas o nome do arquivo, mas não o caminho completo.
Faça um loop pelos arquivos em um diretório em Python usando o método os.walk()
O método walk()
do módulo os
também recebe a string do caminho do diretório como entrada e retorna o caminho do diretório raiz como uma string, a lista dos subdiretórios e a lista de todos os arquivos no diretório atual e seus subdiretórios.
Para encontrar o arquivo com o nome filename.txt
, podemos primeiro obter todos os arquivos no diretório e, em seguida, percorrê-los para obter o arquivo desejado. O exemplo de código a seguir demonstra como localizar um arquivo percorrendo os arquivos em um diretório.
import os
myfile = "filename.txt"
for root, dirs, files in os.walk("Desktop/myFolder"):
for file in files:
if file == myfile:
print(file)
Faça um loop pelos arquivos em um diretório em Python usando o método iglob()
O método iglob()
do módulo glob()
pega o caminho do diretório e a extensão do arquivo requerido como entrada e retorna o caminho de todos os arquivos com a mesma extensão. O exemplo de código a seguir demonstra como percorrer os arquivos em um diretório e encontrar o arquivo necessário em Python usando o método iglob()
.
import glob
for filepath in glob.iglob("drive/test/*.txt"):
if filepath.endswith("/filename.txt"):
print(filepath)
Artigo relacionado - Python File
- Como obter todos os arquivos de um diretório
- Como Anexar Texto a um Arquivo em Python
- Como verificar se um arquivo existe em Python
- Como encontrar ficheiros com uma certa extensão apenas em Python
- Como ler linhas específicas a partir de um arquivo em Python
- Gravar linha por linha em um arquivo usando Python