Krajta

Funkce Python Glob

Funkce Python Glob

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 modulu
importovat 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 modulu
importovat 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 modulu
import 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 modulu
importovat 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 modulu
importovat 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.

Hry Jak vyvíjet hru na Linuxu
Jak vyvíjet hru na Linuxu
Před deseti lety by jen málo uživatelů Linuxu předpovídalo, že jejich oblíbený operační systém bude jednoho dne populární herní platformou pro komerčn...
Hry Porty komerčních her s otevřeným zdrojovým kódem
Porty komerčních her s otevřeným zdrojovým kódem
Zdarma, s otevřeným zdrojovým kódem a multiplatformní herní enginy lze hrát staré i některé z poměrně nedávných herních titulů. Tento článek uvede sez...
Hry Nejlepší hry z příkazového řádku pro Linux
Nejlepší hry z příkazového řádku pro Linux
Příkazový řádek není při používání Linuxu jen vaším největším spojencem - může být také zdrojem zábavy, protože jej můžete použít k hraní mnoha zábavn...