Laço Através de Ficheiros em Directório em Python

Muhammad Waiz Khan 30 janeiro 2023
  1. Percorrer os arquivos em um diretório em Python usando o método os.listdir()
  2. Loop através de arquivos em um diretório em Python usando o método pathlib.path().glob()
  3. Faça um loop pelos arquivos em um diretório em Python usando o método os.walk()
  4. Faça um loop pelos arquivos em um diretório em Python usando o método iglob()
Laço Através de Ficheiros em Directório em Python

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