Glob Python Recursive

Glob Python Recursive
Glob é uma palavra abrangente que descreve muitas estratégias que podem ser usadas para combinar com certos padrões de acordo com as diretrizes associadas ao shell Unix. Linux e UNIX possuem sistemas operacionais e conchas que suportam Glob, e ambos possuem bibliotecas de sistemas que suportam a função Glob ().

O módulo Glob em Python pode ser usado para obter os arquivos e nomes de caminho que correspondem a um padrão especificado. As regras do padrão para o Glob aderem ao padrão estabelecido pelo UNIX para expansão do caminho. Além disso, prevê -se, por referência, que será mais rápido do que as abordagens existentes para corresponder aos nomes de caminho nos diretórios. Além de procurar uma corda exata, podemos empregar os curingas (“*,?, [intervalos]) Com um globo para tornar o processo de recuperação de caminho mais direta e fácil de usar.

Ao ler o artigo a seguir, você obterá uma visão geral da função glob (), que é uma ferramenta útil para localizar arquivos recursivamente através do código Python.

O método Sintaxe para Glob () é:

glob.glob (path_name, *, recursivo = false)

Nota: O valor recursivo é definido como falso por padrão.

Exemplo 1: Usando o método Recursive Glob em um programa Python para imprimir o nome e a fonte dos 10 primeiros arquivos no diretório especificado

Neste exemplo, usaremos a linha Wild Card [0-9] para localizar todos os arquivos cujos nomes contêm um número ou qualquer dígito antes da extensão. A faixa de caracteres [0-9] corresponde a qualquer único dígito. O painel representa um escopo ininterrupto de caracteres consecutivos que são organizados de acordo com o código do personagem para cada letra/dígito. O personagem [0123456789] é outra maneira de escrever o mesmo valor de intervalo.

No código fornecido, primeiro importamos o módulo glob para usar seus métodos. Na linha seguinte, um loop for atravessado na pasta que especificou com Glob com o curinga, [0-9]. Como não especificamos se o loop é recursivo ou não, não será recursivo por padrão. No loop for, imprimimos todos os elementos da pasta. Ele imprime apenas os arquivos que possuem qualquer dígito ou número antes de sua extensão, conforme mostrado na captura de tela a seguir:

Exemplo 2: Usando o método Glob Recursive para localizar a fonte e o nome de um arquivo mencionado no parâmetro e não fornecer condições à função

Veremos o que ocorre se nenhum curinga for usado neste exemplo.

No código a seguir, o módulo glob é importado primeiro. Na linha seguinte, um loop for atravessado ao longo do mundo com um caminho de arquivo. Observe que o caminho é do arquivo neste caso, ao contrário da pasta no caso anterior. Isso significa que há apenas um elemento para combinar com o globo. E como podemos ver, nenhum curinga é usado; não tem nada para comparar com. Como resultado, ele retorna o arquivo especificado, que pode ser visto no terminal de saída na captura de tela a seguir:

Exemplo 3: Usando o Método Recursivo Glob em um programa Python para imprimir o nome e a fonte de todos os arquivos presentes no diretório especificado

Neste exemplo, usaremos o asterisco "*" curinga e veremos o que ele retorna.

No código fornecido, o primeiro módulo glob é importado para usar seus métodos em nosso código. Na linha seguinte, um loop for atravessado em glob com um caminho de pasta especificada de "desktop". O padrão corresponde a todos os nomes de caminho (arquivo ou diretório) no diretório "desktop", mas não se repetem ainda mais, pois o outro parâmetro não foi dado e, por padrão. Ele imprime todos os elementos ou arquivos na pasta, pois corresponde a zero caracteres. Isso é mostrado na captura de tela a seguir:

Exemplo 4: Usando o método Glob Recursive para localizar a fonte e o nome de um arquivo mencionado no parâmetro e fornecer uma condição na função junto com ele

Outro curinga que é suportado pelo glob é “?”. Nessa posição, isso corresponde a um único elemento no nome.

Neste exemplo, o módulo glob é importado primeiro. Na próxima linha, um loop for atravessado no GLOB com um caminho de arquivo para corresponder a qualquer nome de arquivo na pasta da área de trabalho que começa com "aleatório", contém um caractere adicional de qualquer tipo, seja texto ou dígito conclui com “.texto". Como nenhum arquivo atendeu a esses critérios, nada é exibido no terminal de saída, como mostrado na captura de tela a seguir:

Exemplo 5: Usando o Método Recursivo Glob em um programa Python para imprimir o nome e a fonte de todos os arquivos presentes no diretório fornecido com um asterisco duplo no caminho, juntamente com o parâmetro recursivo definido como verdadeiro

Neste exemplo, aprenderemos sobre outro uso de curinga com glob. É um asterisco duplo "**". Isso permite que o programa corresponda recursivamente a zero ou mais subdiretos do diretório atual.

Na primeira etapa, o módulo Glob é importado. Então, o “globo.O método glob ”é chamado para um caminho de pasta com um asterisco duplo“ ** ”curinga e recursivo = true. Isso permite que o programa corresponda recursivamente zero ou mais subdiretos do diretório atual e salve a lista de arquivos na variável chamada "f". Na próxima linha, um loop for percorrido ao longo da lista de arquivos em "F" e é exibido no terminal de saída usando o comando de impressão, como mostrado na captura de tela a seguir:

Exemplo 6: Usando a função Recursiva Glob Iglob em um programa Python para descobrir o nome e a fonte de todos os arquivos presentes no diretório fornecido com um asterisco duplo no caminho, juntamente com o parâmetro recursivo definido como verdadeiro

Nesse caso, realizaremos o truque idêntico que fizemos no anterior. Mas em vez de usar glob.glob, vamos usar o globo.iglob (). A sintaxe para “glob.iglob ”é o mesmo que um globo.Glob: Glob.iglob (pathname, recursivo = false). Exceto que produz um iterador, o que significa que nem todos os itens são salvos na memória. Portanto, pode ser usado de uma maneira muito mais eficiente.

Na primeira etapa, o módulo Glob é importado. Então, o “globo.O método glob ”é chamado para um caminho de pasta com um asterisco duplo“ ** ”curinga e recursivo = true. Isso permite que o programa corresponda recursivamente a zero ou mais subdiretos do diretório atual. Desta vez, nenhuma lista é salva em nenhuma variável. Na linha seguinte, o loop for atravessado ao longo do caminho da iglob com um ponteiro e é exibido no terminal de saída usando o comando de impressão em cada loop, como mostrado na captura de tela a seguir:

Conclusão

Glob () e iglob () são duas funções importantes que iteram através do caminho linearmente ou recursivamente com base no valor do segundo parâmetro, que pode ser verdadeiro ou falso. Python tornou isso muito mais eficaz como um método, tornando -o muito mais valioso do que qualquer outra abordagem manual. Felizmente, este artigo ajudou você a entender como essas funções funcionam com seus diferentes curingas e como isso facilita nossa vida.