Modul Glob jazyka Python – metoda Glob()

Tento výukový kurz poskytuje přehled metody Glob() modulu Glob jazyka Python. Obsahuje několik příkladů, které přinášejí přehlednost.

Obvykle programátoři požadují projít seznam souborů na nějakém místě, většinou mající určitý vzor. Modul glob jazyka Python obsahuje několik funkcí, které mohou pomoci při výpisu souborů v zadané složce. Můžeme je filtrovat na základě přípony nebo pomocí určitého řetězce jako části názvu souboru.

Všechny metody modulu Glob se řídí mechanismem a pravidly porovnávání vzorů v unixovém stylu. Neumožňuje však expanzi tildy (~) a proměnných prostředí.

Metody modulu Glob() v jazyce Python

Dnes probereme tři základní funkce modulu Glob.

glob(file_pattern, recursive = False)

Vyhledá seznam souborů odpovídajících vzoru zadanému v parametru file_pattern.

Vzor file_pattern může být absolutní nebo relativní cesta. Může také obsahovat zástupné znaky, například symboly „*“ nebo „?“.

Ve výchozím nastavení je parametr rekurze vypnutý (False). Pokud je parametr True, prohledává rekurzivně soubory ve všech podadresářích aktuálního adresáře.

Podívejme se nyní na několik příkladů:

Kontrola aktuálního adresáře na soubory skriptů Python

Následující kód kontroluje pouze soubory .py v aktuálním adresáři.

>>> import glob>>> for py in glob.glob("*.py"):... print(py)...copy_file1.pycopy_file2.pydecimal_sample.py

Další ukázkový kód – kontroluje soubory .py v aktuálním adresáři a podadresářích.

>>> import glob>>> for py in glob.glob("*.py"):... print(py)...copy_file1.pycopy_file2.pydecimal_sample.pytest_num.pytest_python_in_with_if.pytest_scope.py

Seznam souborů se vzorem

Vzor názvu cesty můžeme zadat pomocí některých zástupných znaků, například ? nebo číselného rozsahu . Níže uvedený kód vypíše všechny soubory, jejichž název začíná na „test“ následovaný číslem.

>>> for py in glob.glob("test.py"):... print(py)...test1.pytest2.py

Podíváme se ještě na jeden příklad s použitím otazníku ve vzoru.

>>> for py in glob.glob("?????.py"):... print(py)...quiz1.pytest1.pytest2.py

Výše uvedený příkaz for loop vypíše všechny soubory .py, které mají pět písmen.

Následující příkaz by rekurzivně vypsal názvy složek v aktuálním pracovním adresáři.

>>> glob.glob('selenium/**/', recursive=True)

metaiglob() | Python Glob

Tato metoda vytvoří objekt generátoru Pythonu, který lze použít pro výpis souborů v daném adresáři. Pro vypsání názvů souborů můžete zavolat funkci next().

Podívejte se na ukázku kódu níže:

>>> gen = glob.iglob("*.py")>>> type(gen)<class 'generator'>>>> for py in gen:... print(py)...copy_file1.pycopy_file2.pydecimal_sample.pyfind_seed.pyfrozen_set.py

metaescape()

Umožňuje escapovat zadanou posloupnost znaků. Může se vám hodit pro vyhledávání souborů s určitými znaky v názvu.

Podívejte se na níže uvedené příklady:

>>> char_seq = "-_#">>> for spcl_char in char_seq:... esc_set = "*" + glob.escape(spcl_char) + "*" + ".py"... for py in (glob.glob(esc_set)):... print(py)...python quiz-classes-2.pypython-class.pypython-lists.pypython-random#num.pypython-set.pypython-tuples.pypython-while_loop.pycopy_file#2.pydecimal_sample.pyfind_seed.pyfrozen-set.py

Musíte se podívat – Python pro výpis všech souborů v adresáři

.

Napsat komentář

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