Moduł glob w Pythonie – metoda glob()

Tutorial ten przedstawia przegląd metody glob() modułu glob w Pythonie. Zawiera kilka przykładów, aby przynieść jasność.

Zwykle programiści wymagają, aby przemierzyć listę plików w jakiejś lokalizacji, w większości mającej określony wzór. Moduł glob w Pythonie ma kilka funkcji, które mogą pomóc w listowaniu plików pod określonym folderem. Możemy je filtrować na podstawie rozszerzeń, lub za pomocą określonego łańcucha jako części nazwy pliku.

Wszystkie metody modułu Glob podążają za mechanizmem i regułami dopasowywania wzorców w stylu Unix. Nie pozwalają one jednak na rozszerzanie tyldy (~) i zmiennych środowiskowych.

Python Glob() Methods

Dzisiaj omówimy trzy podstawowe funkcje modułu Glob.

glob(file_pattern, recursive = False)

Pobiera listę plików pasujących do wzorca określonego w parametrze file_pattern.

Wzorzec pliku może być ścieżką bezwzględną lub względną. Może również zawierać dzikie karty, takie jak symbole „*” lub „?”.

Parametr rekurencyjności jest domyślnie wyłączony (False). Kiedy True, rekurencyjnie przeszukuje pliki we wszystkich podkatalogach bieżącego katalogu.

Sprawdźmy teraz kilka przykładów:

Sprawdź bieżący katalog pod kątem plików skryptów Pythona

Poniższy kod sprawdza tylko pliki .py w bieżącym dir.

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

Kolejny przykładowy kod – Sprawdza pliki .py w bieżącym dir i podkatalogach.

>>> 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

Listuj pliki za pomocą wzorca

Możemy podać wzorzec nazwy ścieżki, dołączając kilka dzikich kart, takich jak ? lub zakres liczbowy . Poniższy kod wypisuje wszystkie pliki, których nazwa zaczyna się od „test”, po którym następuje liczba.

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

Sprawdźmy jeszcze jeden przykład z użyciem znaku zapytania we wzorcu.

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

Powyższa instrukcja pętli for wypisuje wszystkie pliki .py posiadające pięć liter.

Poniższa instrukcja wydrukowałaby rekurencyjnie nazwy katalogów w bieżącym katalogu roboczym.

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

metodaiglob() | Python Glob

Ta metoda tworzy obiekt generatora Pythona, który może być użyty do wylistowania plików pod danym katalogiem. Możesz wywołać funkcję next(), aby wypisać nazwy plików.

Sprawdź poniższy przykładowy kod:

>>> 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

escape() metoda

Pozwala ona na ucieczkę od podanej sekwencji znaków. Może być przydatna do lokalizowania plików z określonymi znakami w nazwie.

Sprawdź poniższe przykłady:

>>> 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

Must check out – Python to list all files in a directory

.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.