Python Glob() Funkce, Aby Odpovídala Cestu, Adresář, Názvy Souborů s Příklady

glob je obecný termín používaný k definování techniky, aby odpovídaly uvedené vzory podle pravidla související s Unix shell. Linux a Unix systémy a Shelly také podporují glob a také poskytují funkce glob () v systémových knihovnách. V tomto tutoriálu se podíváme glob() využití funkcí v programovacím jazyce Python.

abychom mohli používat glob() a související funkce, musíme importovat modul glob. Mějte na paměti, že glob modul obsahuje glob() a další související funkce.

import glob
Importovat Modul Glob

Přesný Řetězec Vyhledávání

začneme s jednoduchým příkladem. Podíváme se, jak porovnat přesný název řetězce nebo souboru s absolutní cestou. V tomto příkladu uvedeme soubor /home/ismail/poftut.c. Níže vidíme příklad, že funkce vrací seznam, který obsahuje shody.

glob.glob("/home/ismail/poftut.c")
Přesné Vyhledávání Řetězec

regulární výrazy

Zástupný je důležité glob operátor glob operace. Zástupný znak nebo hvězdička se používá k přiřazení nuly nebo více znaků. Zástupný znak specifikoval, že může existovat nulový znak nebo více znaků, kde znak není důležitý. V tomto exmaple porovnáme soubory, které mají .txt rozšíření.

glob.glob("/home/ismail/*.txt")
regulární výrazy

Jak můžeme vidět, že existuje mnoho .txt soubory, a ty vrátí v Pythonu seznam.

zástupné znaky s víceúrovňovými adresáři

můžeme použít zástupné znaky pro určení víceúrovňových adresářů. Pokud chceme hledat adresáře o jednu úroveň dolů pro zadaný glob, použijeme /*/ . V tomto příkladu hledáme .txt soubory v adresářích o jednu úroveň dolů v /home/ismail. Tomu se také říká „glob glob“, protože používáme název modulu glob a funkci glob, kterou poskytuje modul glob.

glob.glob("/home/ismail/*/*.txt")
Zástupné znaky s Víceúrovňových Adresářů

Jeden Znak Wildcard

Tam je otazník, který se používá, aby odpovídaly jeden znak. To může být užitečné, pokud neznáme jediný znak pro křestní jméno. V tomto příkladu porovnáme soubory se soubory file?.txt soubor, kde budou odpovídat souboru

  • .txt
  • soubor1.txt
  • soubor5.txt
glob.glob("/home/ismail/file?.txt")

Více Znaků

Glob podporuje také abecední a číselné znaky. Můžeme použít se používá k ukončení rozsahu znaků. Můžeme dát, co chceme, aby odpovídaly mezi hranaté závorky. V tomto příkladu porovnáme názvy souborů a složek, které začínají jedním z e,m,p .

glob.glob("/home/ismail/*.tx?")
Charakter se Pohybuje

Počet se Pohybuje

V některých případech, budeme chtít zápas číslo rozsah. Můžeme použít - dash pro určení počátečních a koncových čísel. V tomto příkladu porovnáme 0 až 9 s 0-9. V tomto příkladu porovnáme názvy souborů a složek, které obsahují čísla od 0 do 9.

glob.glob("/home/ismail/**")
Počet se Pohybuje

Abeceda se Pohybuje

můžeme také definovat Abecedu pohybuje podobné číslo se pohybuje. použijeme a-z pro malá písmena, kde A-Z pro velká písmena. Co když potřebujeme sladit malá a velká písmena v jediném příkazu. Můžeme použít a-Z pro shodu malých i velkých písmen. V tomto příkladu, budeme odpovídat soubory a složky jména těch, začíná dopisů mezi ac

glob.glob("/home/ismail/*")
Abeceda se Pohybuje

Návrat Generátor s iglob() Mehtod

Obecně glob metoda se používá k zobrazení seznamu souborů pro zadaný vzory. Ale v některých případech jejich výpis a ukládání může být únavná práce. Takže iglob() funkci lze použít k vytvoření iterátoru, který lze použít k iteraci názvů souborů pomocí funkce next().

import glob
gen = glob.iglob("*.txt")
for item in gen:
print(item)
Návrat Generátor s iglob() Mehtod

Přeskočit Specifické Znaky escape() Metoda

escape() funkce může být použit pro přeskočení nebo ne seznam některé soubory, ty jména se určuje znaky. Například pokud chceme přeskočit soubory těchto jmen obsahuje - nebo _ nebo # můžeme použít escape() funkce tím, že poskytuje tyto znaky.

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

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.