Python Glob Module – Método Glob()

Este tutorial fornece uma visão geral do método Python glob() do módulo glob. Ele inclui vários exemplos para trazer clareza.

Usualmente, os programadores precisam atravessar uma lista de arquivos em algum local, a maioria tendo um padrão específico. O módulo glob do Python tem várias funções que podem ajudar na listagem de arquivos sob uma pasta específica. Podemos filtrá-los baseados em extensões, ou com uma determinada string como parte do nome do arquivo.

Todos os métodos do módulo Glob seguem o mecanismo e regras de correspondência de padrões no estilo Unix. Entretanto, ele não permite expandir o til (~) e variáveis de ambiente.

Python Glob() Métodos

Hoje, vamos discutir três funções primárias do módulo Glob.

glob(file_pattern, recursivo = Falso)

Recupera a lista de arquivos que correspondem ao padrão especificado no parâmetro file_pattern.

O file_pattern pode ser um caminho absoluto ou relativo. Pode também conter wild cards como os símbolos “*” ou “?”.

O parâmetro recursivo é desligado (Falso) por defeito. Quando Verdadeiro, ele procura recursivamente ficheiros sob todas as subdirectorias do directório actual.

Vejamos agora alguns exemplos:

Verifica o directório actual para ficheiros de script Python

O código abaixo verifica apenas ficheiros .py no dir actual.

>>> import glob>>> for py in glob.glob("*.py"):... print(py)...copy_file1.pycopy_file2.pydecimal_sample.py

Outro código de exemplo – Verifica ficheiros .py no dir actual e subdirectórios.

>>> import glob>>> for py in glob.glob("*.py"):... print(py)...copy_file1.pycopy_file2.pydecimal_sample.pytest_num.pytest_python_in_with_if.pytest_scope.py

Lista ficheiros com um padrão

Podemos fornecer um padrão de caminho incluindo alguns wild cards como ? ou gama numérica . O código abaixo lista todos os arquivos cujo nome começa com “test” seguido por um número.

>>> for py in glob.glob("test.py"):... print(py)...test1.pytest2.py

Vejamos mais um exemplo usando o ponto de interrogação no pattern.

>>> for py in glob.glob("?????.py"):... print(py)...quiz1.pytest1.pytest2.py

O acima para declaração de loop impressos todos os arquivos .py com cinco letras.

A seguinte instrução imprimirá os nomes de pastas recursivamente no diretório de trabalho atual.

>>> glob.glob('selenium/**/', recursive=True)

iglob() método | Python Glob

Este método cria um objeto gerador Python que pode ser usado para listar arquivos sob um determinado diretório. Você pode chamar a função next() para imprimir nomes de arquivos.

Check the sample code below:

>>> gen = glob.iglob("*.py")>>> type(gen)<class 'generator'>>>> for py in gen:... print(py)...copy_file1.pycopy_file2.pydecimal_sample.pyfind_seed.pyfrozen_set.py

escape() method

Permite escapar da seqüência de caracteres dada. Você pode achá-lo útil para localizar arquivos com certos caracteres em seus nomes.

Cheque os exemplos abaixo:

>>> char_seq = "-_#">>> for spcl_char in char_seq:... esc_set = "*" + glob.escape(spcl_char) + "*" + ".py"... for py in (glob.glob(esc_set)):... print(py)...python quiz-classes-2.pypython-class.pypython-lists.pypython-random#num.pypython-set.pypython-tuples.pypython-while_loop.pycopy_file#2.pydecimal_sample.pyfind_seed.pyfrozen-set.py

Precisa verificar – Python para listar todos os arquivos em um diretório

Deixe uma resposta

O seu endereço de email não será publicado.