כיצד להשתמש במודול הגלוב של Python כדי למצוא קבצים לפי דפוס

המודול glob ב-Python הוא כלי רב עוצמה למציאת קבצים וספריות התואמים דפוס מוגדר. זה שימושי במיוחד כאשר אתה צריך לחפש קבצים עם הרחבות או שמות ספציפיים בספרייה. מאמר זה ידריך אותך בשימוש במודול glob כדי לאתר קבצים ביעילות.

מבוא למודול glob

המודול glob מספק דרך לרשום קבצים וספריות באמצעות תווים כלליים בסגנון מעטפת Unix. זה שימושי למשימות כגון חיפושי קבצים, עיבוד אצווה ועוד. המודול כולל פונקציות המאפשרות לך להתאים שמות קבצים לתבניות, מה שמקל על ניהול הקבצים.

שימוש בסיסי ב-glob

כדי להשתמש במודול glob, תצטרך לייבא אותו ולאחר מכן להשתמש בפונקציה glob.glob() כדי למצוא קבצים התואמים דפוס. הדפוסים שבהם אתה משתמש יכולים לכלול תווים כלליים כגון * (תואם לכל מספר של תווים) ו-? (תואם לתו בודד).

דוגמאות

מציאת קבצים עם סיומת ספציפית

לדוגמה, כדי למצוא את כל הקבצים עם הסיומת .txt בספריה, אתה יכול להשתמש ב:

import glob

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

מציאת קבצים בספריית משנה

כדי למצוא את כל הקבצים עם סיומת ספציפית בספריית משנה, ציין את ספריית המשנה בדפוס:

import glob

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

שימוש בתווים כלליים

תווים כלליים יכולים לעזור לך להתאים מגוון רחב יותר של קבצים. לדוגמה, כדי למצוא את כל קבצי הטקסט המתחילים ב-"report":

import glob

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

מציאת קבצים עם מספר הרחבות

אתה יכול גם להשתמש ב-glob כדי למצוא קבצים עם סיומות מרובות על ידי שימוש בתבנית הכוללת התאמות מרובות של תווים כלליים:

import glob

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

שימוש מתקדם

בנוסף לתבניות פשוטות, מודול glob תומך בתבניות מורכבות יותר. לדוגמה, אתה יכול להשתמש בתבניות כמו ** כדי לחפש ספריות רקורסיביות.

חיפוש רקורסיבי

כדי לחפש קבצים באופן רקורסיבי בכל ספריות המשנה, השתמש בתבנית ** יחד עם הארגומנט recursive=True:

import glob

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

מַסְקָנָה

מודול glob הוא כלי חיוני לניהול קבצים ב-Python, המאפשר לך לחפש קבצים באמצעות דפוסים בקלות. בין אם אתה עובד עם סוגי קבצים ספציפיים, מחפש ספריות או מבצע חיפושים מורכבים, glob מספק פתרון פשוט ויעיל.