Cara Menggunakan Modul glob Python untuk Menemukan File Berdasarkan Pola

Modul glob dalam Python merupakan alat yang ampuh untuk menemukan berkas dan direktori yang sesuai dengan pola tertentu. Modul ini sangat berguna saat Anda perlu mencari berkas dengan ekstensi atau nama tertentu dalam sebuah direktori. Artikel ini akan memandu Anda menggunakan modul glob untuk menemukan berkas secara efisien.

Pengantar Modul glob

Modul glob menyediakan cara untuk mencantumkan berkas dan direktori menggunakan karakter pengganti gaya shell Unix. Ini berguna untuk tugas-tugas seperti pencarian berkas, pemrosesan batch, dan banyak lagi. Modul ini menyertakan fungsi-fungsi yang memungkinkan Anda mencocokkan nama berkas dengan pola, sehingga memudahkan pengelolaan berkas.

Penggunaan Dasar glob

Untuk menggunakan modul glob, Anda perlu mengimpornya lalu menggunakan fungsi glob.glob() untuk menemukan file yang cocok dengan suatu pola. Pola yang Anda gunakan dapat menyertakan karakter pengganti seperti * (cocok dengan sejumlah karakter) dan ? (cocok dengan satu karakter).

Contoh

Menemukan File dengan Ekstensi Tertentu

Misalnya, untuk menemukan semua file dengan ekstensi .txt dalam suatu direktori, Anda dapat menggunakan:

import glob

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

Menemukan File di Subdirektori

Untuk menemukan semua file dengan ekstensi tertentu dalam subdirektori, tentukan subdirektori dalam pola:

import glob

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

Menggunakan Karakter Pengganti

Karakter pengganti dapat membantu Anda mencocokkan berbagai berkas. Misalnya, untuk menemukan semua berkas teks yang dimulai dengan "report":

import glob

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

Menemukan File dengan Beberapa Ekstensi

Anda juga dapat menggunakan glob untuk menemukan file dengan beberapa ekstensi dengan menggunakan pola yang menyertakan beberapa kecocokan wildcard:

import glob

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

Penggunaan Lanjutan

Selain pola sederhana, modul glob mendukung pola yang lebih kompleks. Misalnya, Anda dapat menggunakan pola seperti ** untuk mencari direktori secara rekursif.

Pencarian Rekursif

Untuk mencari berkas secara rekursif di semua subdirektori, gunakan pola ** bersama dengan argumen recursive=True:

import glob

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

Kesimpulan

Modul glob merupakan alat penting untuk mengelola berkas dalam Python, yang memungkinkan Anda mencari berkas menggunakan pola dengan mudah. ​​Baik Anda bekerja dengan jenis berkas tertentu, mencari melalui direktori, atau melakukan pencarian yang rumit, glob menyediakan solusi yang sederhana dan efektif.