Python Glob Function

Python jest jednym z najczęściej używanych języków programowania ogólnego przeznaczenia w ostatnich czasach. Udostępnia on 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 regułami związanymi z powłoką UNIX. Systemy operacyjne oparte na Linuksie i UNIX-ie udostępniają funkcję glob() do wyszukiwania plików i katalogów według podanego wzorca. Python dostarcza również wbudowany moduł glob do uzyskiwania dostępu lub pobierania plików i nazw ścieżkowych, które pasują do określonego wzorca. Do zadań opisanych w tym artykule będziemy używać funkcji glob() modułu glob w Pythonie. Ten artykuł wyjaśnia, jak używać funkcji glob() do wyszukiwania nazw plików i ścieżek według podanego wzorca.

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

Przyjrzyjrzyjmy się kilku przykładom, aby zrozumieć działanie i działanie funkcji glob(). Zaczniemy od prostego przykładu dopasowania nazwy pliku lub nazwy ścieżki do ścieżki bezwzględnej. Jeśli nazwa pliku lub nazwa ścieżki pasuje do ścieżki bezwzględnej, wtedy funkcja glob() zwraca dopasowania w postaci listy; w przeciwnym razie funkcja glob() zwraca pustą listę.

#import modułu glob
import glob
#użycie funkcji glob do dopasowania nazwy pliku do ścieżki absolutnej
#dopasowanie ścieżki absolutnej katalogu downloads
print(glob.glob(“/home/linuxhint/Downloads”)))
#dopasowanie ścieżki absolutnej katalogu documents
print(glob.glob(“/home/linuxhint/Documents”))
#matching absolute path of Desktop
print(glob.glob(“/home/linuxhint/Desktop”))
#matching absolute path of files
print(glob.glob(“/home/linuxhint/Desktop/script.sh”))
print(glob.glob(“/home/linuxhint/Downloads/format.py”))
print(glob.glob(“/home/linuxhint/Documents/calculator.py”))
#określenie ścieżki do pliku, który nie istnieje
#funkcja glob zwróci pustą listę
print(glob.glob(“/home/linuxhint/Documents/myfile.py”))

Wyjście

Wyjście pokazuje dopasowania.

Przykład 2: Użycie symboli wieloznacznych do pobierania ścieżek

Możliwe jest użycie symboli wieloznacznych z funkcją glob() do pobierania ścieżek. Najczęściej używanymi symbolami wieloznacznymi są gwiazdka (*), znak zapytania (?), zakres liczb i zakres alfabetów. Najpierw omówimy użycie gwiazdki w funkcji glob().

Używanie symbolu wieloznacznego gwiazdki (*) do wyszukiwania ścieżek

Operator wieloznaczny gwiazdki jest używany do dopasowania zera lub więcej znaków bezwzględnej ścieżki. Jeżeli żaden znak (znaki) nie zostanie określony za pomocą gwiazdki, wówczas funkcja wyświetli bezwzględną ścieżkę wszystkich plików, katalogów i podkatalogów podanej ścieżki. Możesz również wpisać kilka znaków z gwiazdką, a funkcja dopasuje bezwzględną ścieżkę na podstawie podanych znaków. Na przykład, jeśli chcesz znaleźć bezwzględną ścieżkę do plików .txt, to * może być użyte jako *.txt.

Zaimplementujemy to w naszym skrypcie Pythona.

#importowanie modułu glob
import glob
#wyszukiwanie bezwzględnej ścieżki do plików i katalogów
print(glob.glob(“/home/linuxhint/Downloads/*”))
print(“—————————————-“)
#znajdujemy bezwzględną ścieżkę do plików .txt w katalogu Desktop
print(glob.glob(“/home/linuxhint/Desktop/*.txt”))
print(“—————————————-“)
#znajdujemy bezwzględną ścieżkę do plików .sh w katalogu Desktop
print(glob.glob(“/home/linuxhint/Desktop/*.sh”))
print(“—————————————-“)
#znajdujemy bezwzględną ścieżkę do plików .py w katalogu Documents
print(glob.glob(“/home/linuxhint/Documents/*.py”))
print(“—————————————-“)

Wyjście

Wyjście pokazuje bezwzględną ścieżkę do plików i katalogów zgodnie z regułami zdefiniowanymi w funkcji glob().

Używanie operatora wieloznacznego ze znakiem zapytania (?)

Operator wieloznaczny ze znakiem zapytania (?) jest używany do dopasowywania pojedynczego znaku. Może to być przydatne w sytuacjach, gdy nie wiemy, czy w podanej nazwie występuje pojedynczy znak.

Zaimplementujemy to w naszym skrypcie Pythona.

#importowanie modułu glob
import glob
#wyszukiwanie pliku za pomocą operatora * wildcard
print(glob.glob(“/home/linuxhint/Desktop/file?.txt”))

Wyjście

Wyjście pokazuje dopasowane pliki.

Używanie operatora wieloznacznego zakresu

Operator wieloznaczny zakresu jest używany do dopasowywania plików w podanym zakresie znaków lub liczb. Zakres jest definiowany wewnątrz nawiasów kwadratowych.

Znajdziemy bezwzględną ścieżkę plików poprzez zdefiniowanie zakresu.

#import modułu glob
import glob
#znajdowanie bezwzględnej ścieżki plików w danym zakresie
#definiowanie zakresu w znakach
print(glob.glob(“/home/linuxhint/Desktop/*”))
#wypisanie linii przerywanej w celu odróżnienia wyjścia
print(“——————————————“)
#określenie zakresu w liczbach
print(glob.glob(“/home/linuxhint/Desktop/*”))

Wyjście

Wyszukiwanie plików rekursywnie za pomocą glob()

Funkcja glob przyjmuje jako argument dwa parametry. Pierwszy parametr definiuje nazwę ścieżki, a drugi właściwość rekurencyjną. Drugi parametr jest opcjonalny, a właściwość rekursywna jest domyślnie ustawiona na “false”. Można jednak ustawić właściwość recursive na “true”, aby znaleźć ścieżkę pliku rekurencyjnie.

W naszym skrypcie Pythona ustawimy właściwość recursive równą “true” i znajdziemy bezwzględną ścieżkę plików rekurencyjnie.

#importowanie modułu glob
import glob
#wyszukiwanie plików rekurencyjnie
print(glob.glob(“/home/linuxhint/Documents/*”,recursive=True))

Wyjście

Podsumowanie

Glob to potoczny termin, który odnosi się do technik używanych do dopasowywania określonych wzorców zgodnie z regułami związanymi z powłoką UNIX. Python udostępnia wbudowany moduł glob i funkcje umożliwiające dostęp do nazw ścieżek zgodnie z podanymi regułami. Ten artykuł wyjaśnia, jak używać funkcji glob() do wyszukiwania nazw ścieżek na różnych przykładach.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.