Globální funkce Pythonu

Python je v poslední době jedním z nejrozšířenějších univerzálních programovacích jazyků. Poskytuje mnoho vestavěných modulů, funkcí a klíčových slov pro provádění úloh souvisejících se soubory. Glob je termín, který označuje techniky používané k porovnávání určitých vzorů podle pravidel souvisejících se systémem UNIX shell. Operační systémy založené na systému Linux a UNIX poskytují funkci glob() pro vyhledávání souborů a adresářů podle zadaného vzoru. Python také poskytuje vestavěný modul glob pro přístup k souborům a názvům cest, které odpovídají zadanému vzoru, nebo pro jejich načtení. Pro úlohy popsané v tomto článku budeme používat funkci glob() modulu glob jazyka Python. Tento článek vysvětluje, jak používat funkci glob() k vyhledávání názvů cest a souborů podle zadaného vzoru.

Příklad 1: Shoda názvu souboru nebo cesty s absolutní cestou

Podívejme se na několik příkladů, abychom pochopili fungování a práci funkce glob(). Začneme jednoduchým příkladem porovnání jména souboru nebo názvu cesty s absolutní cestou. Pokud se jméno souboru nebo název cesty shoduje s absolutní cestou, pak funkce glob() vrátí shody ve formě seznamu; v opačném případě funkce glob() vrátí prázdný seznam.

#import modulu glob
import glob
#použití funkce glob pro shodu pathname s absolutní cestou
#shoda absolutní cesty adresáře downloads
print(glob.glob(“/home/linuxhint/Downloads”))
#shoda absolutní cesty adresáře documents
print(glob.glob(“/home/linuxhint/Documents”))
#odpovídající absolutní cesta k adresáři Plocha
print(glob.glob(“/home/linuxhint/Desktop”))
#odpovídající absolutní cesta k souborům
print(glob.glob(“/home/linuxhint/Desktop/script.sh”))
print(glob.glob(“/home/linuxhint/Downloads/format.py”))
print(glob.glob(“/home/linuxhint/Documents/calculator.py”))
#určení cesty k souboru, který neexistuje
#funkce glob vrátí prázdný seznam
print(glob.glob(“/home/linuxhint/Documents/myfile.py”))

Výstup

Výstup zobrazuje shody.

Příklad 2: Použití zástupných znaků pro vyhledání cesty

Pro vyhledání cesty je možné použít zástupné znaky pomocí funkce glob(). Nejčastěji používanými zástupnými znaky jsou hvězdička (*), otazník (?), číselný rozsah , a abecední rozsah . Nejprve probereme použití hvězdičky ve funkci glob().

Použití zástupného znaku hvězdička (*) pro vyhledávání cesty

Operátor zástupného znaku hvězdička se používá k porovnání s nulou nebo více znaky absolutní cesty. Pokud nejsou zadány žádné znaky s hvězdičkou, funkce vypíše absolutní cestu ke všem souborům, adresářům a podadresářům zadané cesty. Můžete také napsat některé znaky s hvězdičkou a funkce porovná absolutní cestu na základě zadaných znaků. Pokud například potřebujete zjistit absolutní cestu k souborům .txt, pak můžete použít zástupný znak * jako *.txt.

Tuto funkci implementujeme v našem skriptu Python.

#import modulu glob
import glob
#zjištění absolutní cesty k souborům a adresářům
print(glob.glob(“/home/linuxhint/Downloads/*”))
print(“—————————————-“)
#zjištění absolutní cesty k souborům .txt v adresáři Desktop
print(glob.glob(“/home/linuxhint/Desktop/*.txt”))
print(“—————————————-“)
#zjištění absolutní cesty k souborům .sh v adresáři Plocha
print(glob.glob(“/home/linuxhint/Desktop/*.sh”))
print(“—————————————-“)
#nalezení absolutní cesty k souborům .py v adresáři Dokumenty
print(glob.glob(“/home/linuxhint/Dokumenty/*.py”))
print(“—————————————-“)

Výstup

Výstup zobrazuje absolutní cestu k souborům a adresářům podle definovaných pravidel ve funkci globe().

Použití operátoru zástupného znaku s otazníkem (?)

Operátor zástupného znaku s otazníkem (?) 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 daném názvu.

Tento postup implementujeme v našem skriptu Python.

#import modulu glob
import glob
#nalezení souboru pomocí operátoru zástupného znaku *
print(glob.glob(“/home/linuxhint/Desktop/file?.txt”)).

Výstup

Výstup zobrazuje přiřazené soubory.

Použití operátoru zástupného znaku rozsahu

Operátor zástupného znaku rozsahu se používá k přiřazení souborů v daném rozsahu znaků nebo čísel. Rozsah se definuje uvnitř hranatých závorek .

Zjistíme absolutní cestu k souborům definováním rozsahu.

#import modulu glob
import glob
#zjištění absolutní cesty k souborům v daném rozsahu
#definování rozsahu ve znacích
print(glob.glob(“/home/linuxhint/Desktop/*”))
#výpis tečkované čáry pro odlišení výstupu
print(“——————————————“)
#definování rozsahu v číslech
print(glob.glob(“/home/linuxhint/Desktop/*”))

Výstup

Rekurzivní vyhledávání souborů pomocí glob()

Funkce glob přijímá jako argument dva parametry. První parametr definuje název cesty a druhý parametr definuje rekurzivní vlastnost. Druhý parametr je nepovinný a rekurzivní vlastnost je ve výchozím nastavení nastavena na “false”. Můžete však nastavit rekurzivní vlastnost na “true”, abyste našli cestu k souboru rekurzivně.

V našem skriptu Pythonu nastavíme rekurzivní vlastnost na “true” a najdeme absolutní cestu k souborům rekurzivně.

#import modulu glob
import glob
#nalezení souborů rekurzivně
print(glob.glob(“/home/linuxhint/Documents/*”,recursive=True))

Výstup

Závěr

Glob je běžný termín, který označuje techniky používané k porovnávání určitých vzorů podle pravidel souvisejících se systémem UNIX shell. 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žívat funkci glob() k vyhledávání názvů cest na různých příkladech.

Napsat komentář

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