Python je v poslední době jedním z nejpoužívanějších univerzálních programovacích jazyků. Poskytuje mnoho vestavěných modulů, funkcí a klíčových slov k provádění úkolů souvisejících se soubory. Glob je pojem, který odkazuje na techniky používané k párování konkrétních vzorů podle pravidel souvisejících s prostředími UNIX. Operační systémy založené na Linuxu a UNIX poskytují funkci glob () k vyhledání souborů a adresářů podle daného vzoru. Python také poskytuje vestavěný modul glob pro přístup nebo načtení souborů a cest, které odpovídají zadanému vzoru. Pro úlohy popsané v tomto článku budeme používat funkci Python glob () modulu glob. Tento článek vysvětluje, jak použít funkci glob () k vyhledání cest a názvů souborů podle daného vzoru.
Příklad 1: Porovnejte název souboru nebo cestu s absolutní cestou
Podívejme se na několik příkladů, abychom porozuměli fungování a fungování funkce glob (). Začneme jednoduchým příkladem shody názvu souboru nebo cesty s absolutní cestou. Pokud se název souboru nebo cesta shoduje s absolutní cestou, vrátí funkce glob () shody ve formě seznamu; v opačném případě vrátí funkce glob () prázdný seznam.
#import glob moduluimportovat glob
#použití funkce glob k porovnání názvu cesty s absolutní cestou
#matching absolutní cesta adresáře ke stažení
tisk (glob.glob ("/ home / linuxhint / Downloads"))
#matching absolutní cesta k adresáři dokumentů
tisk (glob.glob ("/ home / linuxhint / Documents"))
# porovnání absolutní cesty Desktopu
tisk (glob.glob ("/ home / linuxhint / Desktop"))
# porovnání absolutní cesty k souborům
tisk (glob.glob ("/ home / linuxhint / Desktop / script.sh "))
tisk (glob.glob ("/ home / linuxhint / Soubory ke stažení / formát.py ")))
tisk (glob.glob ("/ home / linuxhint / Dokumenty / kalkulačka.py ")))
# specifikující cestu k souboru, který neexistuje
# funkce glob vrátí prázdný seznam
tisk (glob.glob ("/ home / linuxhint / Documents / myfile.py ")))
Výstup
Výstup ukazuje shody.
Příklad 2: Použití zástupných znaků pro načítání cest
K vyhledání cesty je možné použít zástupné znaky s funkcí glob (). Nejčastěji používanými zástupnými znaky jsou hvězdička (*), otazník (?), rozsah čísel [0-9] a rozsah abeced [a-z]. Nejprve probereme použití hvězdičky ve funkci glob ().
Použití zástupného znaku hvězdičky (*) pro načítání cesty
Operátor zástupných znaků hvězdička se používá k porovnání nula nebo více znaků absolutní cesty. Pokud u hvězdičky nejsou zadány žádné znaky, funkce vypíše absolutní cestu ke všem souborům, adresářům a podadresářům dané cesty. Můžete také napsat několik znaků s hvězdičkou a bude odpovídat absolutní cestě na základě daných znaků. Například pokud potřebujete najít absolutní cestu k .soubory txt, pak lze jako * použít zástupný znak *.txt.
Budeme to implementovat v našem skriptu Pythonu.
#import glob moduluimportovat glob
#finding absolutní cestu k souborům a adresářům
tisk (glob.glob ("/ home / linuxhint / Downloads / *"))
tisk("----------------------------------------")
# najít absolutní cestu k .Soubory txt v adresáři Desktop
tisk (glob.glob ("/ home / linuxhint / Desktop / *.txt "))
tisk("----------------------------------------")
# najít absolutní cestu k .sh soubory v adresáři Desktop
tisk (glob.glob ("/ home / linuxhint / Desktop / *.sh "))
tisk("----------------------------------------")
# najít absolutní cestu k .py soubory v adresáři Documents
tisk (glob.glob ("/ home / linuxhint / Documents / *.py ")))
tisk("----------------------------------------")
Výstup
Výstup ukazuje absolutní cestu k souborům a adresářům podle definovaných pravidel ve funkci globe ().
Použití otazníku (?) Provozovatel zástupných znaků
Otazník (?) operátor zástupných znaků se používá k přiřazení jednoho znaku. To může být užitečné v situacích, kdy si nejste vědomi jediného znaku v křestním jménu.
Budeme to implementovat v našem skriptu Pythonu.
#import glob moduluimport glob
# najít soubor pomocí operátoru * zástupných znaků
tisk (glob.glob ("/ home / linuxhint / Desktop / soubor?.txt "))
Výstup
Výstup zobrazuje spárované soubory.
Pomocí operátora zástupných znaků rozsahu
Operátor zástupných znaků rozsahu se používá k párování souborů v daném rozsahu znaků nebo čísel. Rozsah je definován uvnitř hranatých závorek [].
Absolutní cestu k souborům najdeme definováním rozsahu.
#import glob moduluimportovat glob
#finding absolutní cestu k souborům v daném rozsahu
# definování rozsahu znaků
tisk (glob.glob ("/ home / linuxhint / Desktop / [a-f] *"))
# tisk tečkované čáry pro odlišení výstupu
tisk("------------------------------------------")
# definování rozsahu v číslech
tisk (glob.glob ("/ home / linuxhint / Desktop / [1-5] *"))
Výstup
Najít rekurzivně soubory pomocí glob ()
Funkce glob bere jako argument dva parametry. První parametr definuje název cesty a druhý parametr definuje rekurzivní vlastnost. Druhý parametr je volitelný a rekurzivní vlastnost je ve výchozím nastavení nastavena na „false“. Rekurzivní vlastnost však můžete nastavit na „true“, abyste cestu k souboru našli rekurzivně.
V našem skriptu Pythonu nastavíme rekurzivní vlastnost na „true“ a rekurzivně najdeme absolutní cestu k souborům.
#import glob moduluimportovat glob
# najít rekurzivně soubory
tisk (glob.glob ("/ home / linuxhint / Documents / *", rekurzivní = True))
Výstup
Závěr
Glob je běžný termín, který odkazuje na techniky používané k párování konkrétních vzorů podle pravidel souvisejících se systémem UNIX. Python poskytuje vestavěný modul glob a funkci pro přístup k názvům cest podle daných pravidel. Tento článek vysvětluje, jak použít funkci glob () k vyhledání cest s různými příklady.