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.