Python Glob() funcție pentru a se potrivi cale, director, nume de fișiere cu exemple

glob este un termen general folosit pentru a defini tehnici pentru a se potrivi modele specificate în conformitate cu normele legate de shell Unix. Sistemele și shell-urile Linux și Unix acceptă, de asemenea, glob și oferă, de asemenea, funcția glob() în bibliotecile de sistem. În acest tutorial, vom arăta glob() utilizarea funcției în limbajul de programare Python.

pentru a utilizaglob()și funcțiile conexe trebuie să importăm modululglob. Rețineți căglob modulul conține glob() și alte funcții conexe.

import glob
Import modul Glob

căutare exactă șir

vom începe cu un exemplu simplu. Vom arăta cum să potrivim șirul exact sau numele fișierului cu o cale absolută. În acest exemplu vom enumera fișierul /home/ismail/poftut.c . Putem vedea exemplul de mai jos că funcția returnează o listă care conține potriviri.

glob.glob("/home/ismail/poftut.c")
căutare exactă șir

wildcard

Wildcard este operatorul glob important pentru operațiunile glob. Wildcard sau asterisc este folosit pentru a se potrivi cu zero sau mai multe caractere. Wildcard a specificat că poate exista un caracter zero sau un caracter multiplu în care caracterul nu este important. În acest exmaple vom potrivi fișierele care au.txt extensie.

glob.glob("/home/ismail/*.txt")
metacaractere

vedeți că există o mulțime de fișiere .txtcare se întorc într-o listă Python.

metacaractere cu directoare pe Mai multe niveluri

putem folosi metacaractere pentru a specifica directoare pe mai multe niveluri. Dacă dorim să căutăm directoare cu un nivel în jos pentru glob specificat, vom folosi /*/ . În acest exemplu, căutăm.txt fișiere în directoare cu un nivel în jos în/home/ismail . Acest lucru este, de asemenea, numit „glob glob” pentru că vom folosi numele modulului glob și funcția glob care este furnizat de modulul glob.

glob.glob("/home/ismail/*/*.txt")
metacaractere cu directoare pe Mai multe niveluri

wildcard cu un singur caracter

există un semn de întrebare care este utilizat pentru a se potrivi cu un singur caracter. Acest lucru poate fi util dacă nu știm un singur caracter pentru numele dat. În acest exemplu vom potrivi fișiere cu fișiere file?.txt fișier unde acestea se vor potrivi

  • fișier.txt
  • fișier1.txt
  • fișier5.txt
glob.glob("/home/ismail/file?.txt")

Caractere Multiple

Glob sprijină, de asemenea, pentru caractere alfabetice și numerice prea. Putem folosi este folosit pentru a termina gama de caractere. Putem pune orice vrem să se potrivească între paranteze pătrate. În acest exemplu vom potrivi numele fișierelor și folderelor celor care încep unul dintre e,m,p .

glob.glob("/home/ismail/*.tx?")
intervale de caractere

game de numere

în unele cazuri, este posibil să dorim să potrivim intervalul de numere. Putem folosi- dash pentru a specifica numerele de început și de sfârșit. În acest exemplu, vom potrivi 0 la 9 cu 0-9. În acest exemplu, vom potrivi numele fișierelor și folderelor care conțin numere de la 0 la 9.

glob.glob("/home/ismail/**")
game de numere

game de alfabete

putem defini, de asemenea, intervale de alfabet similare cu intervalele de numere. vom folosi a-z pentru caractere minuscule unde A-Z pentru caractere majuscule. Ce se întâmplă dacă trebuie să potrivim caracterele mai mici și majuscule într-o singură declarație. Putem folosi az pentru a se potrivi atât cu litere mici, cât și cu majuscule. În acest exemplu, vom potrivi fișiere și nume de foldere cele începe cu Litere între a și c

glob.glob("/home/ismail/*")
alfabet variază

generator de retur cu iglob() mehtod

în general, metoda glob este folosit pentru a lista fișiere pentru modelele specificate. Dar, în unele cazuri, listarea și stocarea acestora poate fi o lucrare obositoare. Deciiglob() funcția poate fi utilizată pentru a crea un iterator care poate fi folosit pentru a itera numele fișierelor cunext() funcție.

import glob
gen = glob.iglob("*.txt")
for item in gen:
print(item)
Generator de retur cu iglob() Mehtod

skip caractere specifice cu escape() metoda

escape() funcția poate fi folosit pentru a sări peste sau nu Lista unele fișiere aceste nume are specifică caractere. De exemplu, dacă dorim să omitem fișierele, aceste nume conțin - sau _ sau # putem folosi funcția escape() furnizând aceste caractere.

chars_skip = "-_#"
for char_skip in chars_skip:
esc_set = "*" + glob.escape(char_skip)+ "*" + ".txt"
for txt in (glob.glob(esc_set)):
print(txt)

Lasă un răspuns

Adresa ta de email nu va fi publicată.