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.