glob
é um termo geral utilizado para definir técnicas de correspondência de padrões especificados de acordo com as regras relativas ao shell do Unix. Linux e sistemas e shells Unix também suportam glob e também fornecem função glob() em bibliotecas de sistemas. Neste tutorial, vamos olhar glob()
uso de funções na linguagem de programação Python.
para usar glob()
e funções relacionadas precisamos importar o glob
módulo. Tenha em mente que glob
módulo contém glob()
e outras funções relacionadas.
import glob
String Exata de Busca
Vamos começar com um exemplo simples. Vamos ver como combinar o texto exato ou nome de arquivo com um caminho absoluto. Neste exemplo, listaremos o arquivo /home/ismail/poftut.c
. Podemos ver o exemplo abaixo que a função retorna uma lista que contém fósforos.
glob.glob("/home/ismail/poftut.c")
Curingas
Curinga é importante glob operador para glob operações. Caracteres especiais ou asterisco são usados para corresponder a zero ou mais caracteres. Caracteres especiais especificaram que pode haver caracteres zero ou múltiplos onde o carácter não é importante. Neste exmaple vamos combinar arquivos que têm .txt
extensão.
glob.glob("/home/ismail/*.txt")
Como podemos ver que há um monte de .txt
arquivos aqueles retornar em Python lista.
Wildcards com diretórios multi-níveis
podemos usar wildcards, a fim de especificar diretórios multi-níveis. Se quisermos procurar em directórios de um nível para baixo por determinado glob, iremos usar /*/
. Neste exemplo, nós procuramos por.txt
arquivos em um nível para baixo diretórios em/home/ismail
. Isso também é chamado de “glob glob glob” porque nós usamos o nome do módulo glob e a função glob que é fornecida pelo módulo glob.
glob.glob("/home/ismail/*/*.txt")
Único Caractere Curinga
Há um ponto de interrogação que é usada para corresponder único caractere. Isto pode ser útil se não conhecermos um único carácter para um dado nome. Neste exemplo, vamos combinar arquivos com arquivos file?.txt
file onde estes irão corresponder
- file.txt
- file1.txt
- file5.txt
- …
glob.glob("/home/ismail/file?.txt")
múltiplos caracteres
Glob também suporta caracteres alfabéticos e numéricos. Podemos usar é usado para terminar o intervalo de caracteres. Podemos colocar o que quisermos entre parêntesis rectos. Neste exemplo, vamos combinar arquivos e nomes de pastas que iniciam um de
e,m,p
.
glob.glob("/home/ismail/*.tx?")
Número de Faixas
Em alguns casos, podemos querer corresponder ao número de faixa. Podemos usar -
dash para especificar números de início e fim. Neste exemplo, vamos combinar 0 a 9 com 0-9
. Neste exemplo, vamos combinar nomes de arquivos e pastas que contêm números de 0 a 9.
glob.glob("/home/ismail/**")
Alfabeto Faixas
podemos também definir Alfabeto intervalos semelhante ao número de intervalos. usaremos a-z
para caracteres minúsculos, onde a-Z para caracteres maiúsculos. E se precisarmos de corresponder caracteres minúsculos e maiúsculos numa única declaração? Podemos usar o A-Z para combinar letras maiúsculas e minúsculas. Neste exemplo, vamos combinar arquivos e nomes de pasta aqueles começa com cartas entre a
e c
glob.glob("/home/ismail/*")
Retornar Gerador com iglob() Mehtod
em Geral glob método é usado para listar os arquivos para os padrões especificados. Mas em alguns casos listá-los e armazená-los pode ser um trabalho tedioso. Portanto, iglob()
função pode ser usada para criar um iterador que pode ser usado para iterar os nomes de arquivo com o next()
função.
import glob
gen = glob.iglob("*.txt")
for item in gen:
print(item)
Ignorar os Caracteres Específicos com escape() Método
escape()
função pode ser usada para ignorar ou não lista de alguns arquivos os nomes especifica caracteres. Por exemplo, se queremos ignorar os arquivos com esses nomes contém -
ou _
ou #
podemos usar a função escape (), fornecendo esses caracteres.
chars_skip = "-_#"
for char_skip in chars_skip:
esc_set = "*" + glob.escape(char_skip)+ "*" + ".txt"
for txt in (glob.glob(esc_set)):
print(txt)