Pyton

Funkcja Glob w Pythonie

Funkcja Glob w Pythonie

Python jest jednym z najczęściej używanych języków programowania ogólnego przeznaczenia w ostatnich czasach. Zawiera wiele wbudowanych modułów, funkcji i słów kluczowych do wykonywania zadań związanych z plikami. Glob to termin, który odnosi się do technik używanych do dopasowywania określonych wzorców zgodnie z zasadami związanymi z powłoką UNIX. Systemy operacyjne oparte na Linux i UNIX zapewniają funkcję glob() do wyszukiwania plików i katalogów zgodnie z podanym wzorcem. Python zapewnia również wbudowany moduł glob umożliwiający dostęp lub pobieranie plików i ścieżek, które pasują do określonego wzorca. Do zadań opisanych w tym artykule będziemy używać funkcji Python glob() modułu glob. Ten artykuł wyjaśnia, jak używać funkcji glob() do znajdowania ścieżek i nazw plików zgodnie z podanym wzorcem.

Przykład 1: Dopasuj nazwę pliku lub nazwę ścieżki do ścieżki bezwzględnej

Spójrzmy na kilka przykładów, aby zrozumieć działanie i działanie funkcji glob(). Zaczniemy od prostego przykładu dopasowania nazwy pliku lub ścieżki do ścieżki bezwzględnej. Jeśli nazwa pliku lub ścieżka pasuje do ścieżki bezwzględnej, funkcja glob() zwraca dopasowania w postaci listy; w przeciwnym razie funkcja glob() zwraca pustą listę.

#importowanie modułu glob
importuj świat
#używając funkcji glob, aby dopasować nazwę ścieżki do ścieżki bezwzględnej
#dopasowanie bezwzględnej ścieżki katalogu pobierania
drukuj(glob.glob("/home/linuxhint/Pobrane"))
#pasujące bezwzględną ścieżkę katalogu dokumentów
drukuj(glob.glob("/home/linuxhint/Dokumenty"))
#dopasowanie bezwzględnej ścieżki pulpitu
drukuj(glob.glob("/home/linuxhint/komputer"))
#dopasowanie bezwzględnej ścieżki plików
drukuj(glob.glob("/home/linuxhint/Pulpit/skrypt.sz"))
drukuj(glob.glob("/home/linuxhint/Pobieranie/format.py"))
drukuj(glob.glob("/home/linuxhint/Dokumenty/kalkulator.py"))
#określanie ścieżki do pliku, który nie istnieje
#funkcja glob zwróci pustą listę
drukuj(glob.glob("/home/linuxhint/Dokumenty/mojplik.py"))

Wynik

Dane wyjściowe pokazują dopasowania.

Przykład 2: Używanie symboli wieloznacznych do wyszukiwania ścieżki

Możliwe jest użycie symboli wieloznacznych z funkcją glob() do wyszukiwania ścieżki. Najczęściej używane symbole wieloznaczne to gwiazdka (*), znak zapytania (?), zakres liczb [0-9] i zakres alfabetów [a-z].  Najpierw omówimy użycie gwiazdki w funkcji glob().

Używanie gwiazdki (*) Wildcard do wyszukiwania ścieżki

Operator symboli wieloznacznych z gwiazdką służy do dopasowania zero lub więcej znaków ścieżki bezwzględnej. Jeśli nie podano żadnego znaku z gwiazdką, funkcja wyświetli bezwzględną ścieżkę wszystkich plików, katalogów i podkatalogów w podanej ścieżce. Możesz również wpisać kilka znaków z gwiazdką i będzie pasować do bezwzględnej ścieżki na podstawie podanych znaków. Na przykład, jeśli chcesz znaleźć absolutną ścieżkę .txt, wtedy * symbol wieloznaczny może być użyty jako *.tekst.

Zaimplementujemy to w naszym skrypcie Pythona.

#importowanie modułu glob
importuj świat
#znajdowanie bezwzględnej ścieżki plików i katalogów
drukuj(glob.glob("/home/linuxhint/Pobrane/*"))
wydrukować("----------------------------------------")
#znalezienie bezwzględnej ścieżki path .pliki txt w katalogu Desktop
drukuj(glob.glob("/home/linuxhint/Pulpit/*.tekst"))
wydrukować("----------------------------------------")
#znalezienie bezwzględnej ścieżki path .pliki sh w katalogu Pulpit
drukuj(glob.glob("/home/linuxhint/komputer/*.sz"))
wydrukować("----------------------------------------")
#znalezienie bezwzględnej ścieżki path .pliki py w katalogu Dokumenty
drukuj(glob.glob("/home/linuxhint/Dokumenty/*.py"))
wydrukować("----------------------------------------")

Wynik

Dane wyjściowe pokazują bezwzględną ścieżkę plików i katalogów zgodnie ze zdefiniowanymi regułami w funkcji globe().

Używanie znaku zapytania (?) Operator wieloznaczny

Znak zapytania (?) do dopasowania pojedynczego znaku używany jest operator wieloznaczny. Może to być przydatne w sytuacjach, gdy nie znasz ani jednego znaku w podanej nazwie.

Zaimplementujemy to w naszym skrypcie Pythona.

#importowanie modułu glob
importuj świat
#znajdowanie pliku z operatorem * wieloznacznym
drukuj(glob.glob("/home/linuxhint/Pulpit/plik?.tekst"))

Wynik

Dane wyjściowe pokazują dopasowane pliki.

Korzystanie z operatora wieloznacznego zasięgu

Operator wieloznaczny zakresu służy do dopasowywania plików w określonym zakresie znaków lub liczb. Zakres jest zdefiniowany w nawiasach kwadratowych [].

Bezwzględną ścieżkę plików znajdziemy definiując zakres.

#importowanie modułu glob
importuj świat
#znajdowanie bezwzględnej ścieżki plików w podanym zakresie
#definiowanie zakresu w znakach
drukuj(glob.glob("/home/linuxhint/Pulpit/[a-f]*"))
#drukowanie kropkowanej linii w celu odróżnienia wyjścia
wydrukować("------------------------------------------")
#definiowanie zakresu w liczbach
drukuj(glob.glob("/home/linuxhint/Pulpit/[1-5]*"))

Wynik

Znajdź pliki rekurencyjnie za pomocą glob()

Funkcja glob przyjmuje dwa parametry jako argument. Pierwszy parametr określa nazwę ścieżki, a drugi parametr określa właściwość rekurencyjną. Drugi parametr jest opcjonalny, a właściwość rekurencyjna jest domyślnie ustawiona na „false”. Możesz jednak ustawić właściwość rekursywną na „prawda”, aby rekurencyjnie znaleźć ścieżkę do pliku.

Ustawimy właściwość rekurencyjną równą „true” w naszym skrypcie Pythona i rekurencyjnie znajdziemy bezwzględną ścieżkę plików.

#importowanie modułu glob
importuj świat
#rekurencyjne znajdowanie plików
drukuj(glob.glob("/home/linuxhint/Dokumenty/*",recursive=True))

Wynik

Wniosek

Glob to powszechny termin, który odnosi się do technik używanych do dopasowywania określonych wzorców zgodnie z regułami dotyczącymi powłoki UNIX. Python zapewnia wbudowany moduł glob i funkcję dostępu do nazw ścieżek zgodnie z podanymi regułami. Ten artykuł wyjaśnia, jak używać funkcji glob() do wyszukiwania ścieżek z różnymi przykładami.

Gry Jak wyświetlić nakładkę OSD w pełnoekranowych aplikacjach i grach dla systemu Linux?
Jak wyświetlić nakładkę OSD w pełnoekranowych aplikacjach i grach dla systemu Linux?
Granie w gry pełnoekranowe lub korzystanie z aplikacji w trybie pełnoekranowym bez rozpraszania uwagi może odciąć Cię od istotnych informacji systemow...
Gry 5 najlepszych kart do przechwytywania gier
5 najlepszych kart do przechwytywania gier
Wszyscy widzieliśmy i uwielbialiśmy strumieniowe rozgrywki na YouTube on. PewDiePie, Jakesepticye i Markiplier to tylko niektórzy z najlepszych graczy...
Gry Jak stworzyć grę na Linuksie
Jak stworzyć grę na Linuksie
Dziesięć lat temu niewielu użytkowników Linuksa przewidywało, że ich ulubiony system operacyjny pewnego dnia stanie się popularną platformą do gier dl...