Hoe je de glob-module van Python gebruikt om bestanden te vinden op patroon

De glob-module in Python is een krachtige tool voor het vinden van bestanden en directory's die voldoen aan een bepaald patroon. Het is vooral handig als u in een directory naar bestanden met specifieke extensies of namen moet zoeken. Dit artikel begeleidt u bij het gebruik van de glob-module om bestanden efficiënt te vinden.

Inleiding tot de glob-module

De glob-module biedt een manier om bestanden en mappen te tonen met behulp van Unix shell-stijl wildcards. Dit is handig voor taken zoals bestandszoekopdrachten, batchverwerking en meer. De module bevat functies waarmee u bestandsnamen kunt matchen met patronen, wat bestandsbeheer eenvoudiger maakt.

Basisgebruik van glob

Om de glob module te gebruiken, moet u deze importeren en vervolgens de glob.glob() functie gebruiken om bestanden te vinden die overeenkomen met een patroon. De patronen die u gebruikt, kunnen jokers bevatten zoals * (komt overeen met een willekeurig aantal tekens) en ? (komt overeen met één teken).

Voorbeelden

Bestanden met een specifieke extensie vinden

Om bijvoorbeeld alle bestanden met de extensie .txt in een map te vinden, kunt u het volgende gebruiken:

import glob

# Find all .txt files in the current directory
txt_files = glob.glob('*.txt')
print(txt_files)

Bestanden in een submap vinden

Om alle bestanden met een specifieke extensie in een submap te vinden, geeft u de submap op in het patroon:

import glob

# Find all .jpg files in the 'images' subdirectory
jpg_files = glob.glob('images/*.jpg')
print(jpg_files)

Jokertekens gebruiken

Met jokers kunt u een breder scala aan bestanden matchen. Om bijvoorbeeld alle tekstbestanden te vinden die beginnen met "report":

import glob

# Find all files starting with 'report' and ending with .txt
report_files = glob.glob('report*.txt')
print(report_files)

Bestanden met meerdere extensies vinden

U kunt ook glob gebruiken om bestanden met meerdere extensies te vinden door een patroon te gebruiken dat meerdere jokertekens bevat:

import glob

# Find all .txt and .md files
files = glob.glob('*.txt') + glob.glob('*.md')
print(files)

Geavanceerd gebruik

Naast eenvoudige patronen ondersteunt de glob-module complexere patronen. U kunt bijvoorbeeld patronen als ** gebruiken om directory's recursief te doorzoeken.

Recursief zoeken

Om recursief naar bestanden in alle submappen te zoeken, gebruikt u het patroon ** samen met het argument recursive=True:

import glob

# Find all .py files in the current directory and subdirectories
py_files = glob.glob('**/*.py', recursive=True)
print(py_files)

Conclusie

De glob-module is een essentieel hulpmiddel voor het beheren van bestanden in Python, waarmee u eenvoudig naar bestanden kunt zoeken met behulp van patronen. Of u nu werkt met specifieke bestandstypen, door mappen zoekt of complexe zoekopdrachten uitvoert, glob biedt een eenvoudige en effectieve oplossing.