Hur man använder Pythons glob-modul för att hitta filer efter mönster
Modulen glob
i Python är ett kraftfullt verktyg för att hitta filer och kataloger som matchar ett specificerat mönster. Det är särskilt användbart när du behöver söka efter filer med specifika tillägg eller namn i en katalog. Den här artikeln guidar dig genom att använda modulen glob
för att hitta filer effektivt.
Introduktion till modulen glob
Modulen glob
ger ett sätt att lista filer och kataloger med hjälp av jokertecken i Unix-skal. Detta är användbart för uppgifter som filsökningar, batchbearbetning och mer. Modulen innehåller funktioner som låter dig matcha filnamn med mönster, vilket gör filhanteringen enklare.
Grundläggande användning av glob
För att använda glob
-modulen måste du importera den och sedan använda glob.glob()
-funktionen för att hitta filer som matchar ett mönster. Mönstren du använder kan inkludera jokertecken som *
(matchar valfritt antal tecken) och ?
(matchar ett enstaka tecken).
Exempel
Hitta filer med ett specifikt tillägg
Till exempel, för att hitta alla filer med tillägget .txt
i en katalog kan du använda:
import glob
# Find all .txt files in the current directory
txt_files = glob.glob('*.txt')
print(txt_files)
Hitta filer i en underkatalog
För att hitta alla filer med ett specifikt tillägg i en underkatalog, ange underkatalogen i mönstret:
import glob
# Find all .jpg files in the 'images' subdirectory
jpg_files = glob.glob('images/*.jpg')
print(jpg_files)
Använder jokertecken
Jokertecken kan hjälpa dig att matcha ett bredare utbud av filer. Till exempel för att hitta alla textfiler som börjar med "report":
import glob
# Find all files starting with 'report' and ending with .txt
report_files = glob.glob('report*.txt')
print(report_files)
Hitta filer med flera filtillägg
Du kan också använda glob
för att hitta filer med flera tillägg genom att använda ett mönster som innehåller flera jokerteckenmatchningar:
import glob
# Find all .txt and .md files
files = glob.glob('*.txt') + glob.glob('*.md')
print(files)
Avancerad användning
Förutom enkla mönster stöder glob
-modulen mer komplexa mönster. Till exempel kan du använda mönster som **
för att rekursivt söka i kataloger.
Rekursiv sökning
För att söka efter filer rekursivt i alla underkataloger, använd **
-mönstret tillsammans med rekursivt=True
-argumentet:
import glob
# Find all .py files in the current directory and subdirectories
py_files = glob.glob('**/*.py', recursive=True)
print(py_files)
Slutsats
Modulen glob
är ett viktigt verktyg för att hantera filer i Python, så att du enkelt kan söka efter filer med hjälp av mönster. Oavsett om du arbetar med specifika filtyper, söker genom kataloger eller utför komplexa sökningar, ger glob
en enkel och effektiv lösning.