0Pricing
Python Academy · Pelajaran

Pencarian Glob dan Iterasi

Temukan file dengan pola glob

Pencarian Glob dan Iterasi adalah pelajaran Python Academy gratis di CoddyKit. Ini adalah pelajaran 3 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Python Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Python Academy mencakup 4 pelajaran total.

Menemukan Berkas

pathlib memudahkan Anda menampilkan isi direktori dan mencari berkas yang cocok dengan suatu pola. Metode utamanya adalah iterdir, glob, dan rglob.

Menyiapkan Struktur Contoh

Untuk mempelajari metode-metode ini, pertama-tama kita membuat direktori kecil yang berisi beberapa berkas. Persiapan ini hanya menggunakan pustaka standar.

from pathlib import Path

root = Path('sample')
root.mkdir(exist_ok=True)
(root / 'a.txt').write_text('1')
(root / 'b.txt').write_text('2')
(root / 'c.log').write_text('3')
print('created files')

iterdir Menampilkan Isi

iterdir() menghasilkan setiap entri yang berada tepat di dalam suatu direktori, satu Path untuk setiap item.

from pathlib import Path

root = Path('sample')
for entry in sorted(root.iterdir()):
    print(entry.name)

glob dengan Pola

glob() menemukan entri yang cocok dengan pola bergaya shell. Karakter pengganti * cocok dengan rangkaian karakter apa pun.

from pathlib import Path

root = Path('sample')
for txt in sorted(root.glob('*.txt')):
    print(txt.name)

Karakter Pengganti Tunggal

Karakter pengganti ? cocok tepat dengan satu karakter, sehingga berguna untuk nama dengan panjang tetap.

from pathlib import Path

root = Path('sample')
for m in sorted(root.glob('?.txt')):
    print(m.name)

Rentang Karakter

Tanda kurung siku cocok dengan salah satu karakter dari suatu himpunan atau rentang, sama seperti pada pencocokan pola shell.

from pathlib import Path

root = Path('sample')
for m in sorted(root.glob('[ab].txt')):
    print(m.name)

glob Rekursif dengan rglob

rglob() mencari di suatu direktori dan seluruh subdirektorinya. Metode ini setara dengan glob('**/pattern').

from pathlib import Path

root = Path('sample')
(root / 'nested').mkdir(exist_ok=True)
(root / 'nested' / 'deep.txt').write_text('x')
for m in sorted(root.rglob('*.txt')):
    print(m)

Menghitung Kecocokan

Hasil glob berupa iterator. Bungkus salah satunya dengan list() untuk menghitung atau menggunakan kembali hasil yang cocok.

from pathlib import Path

root = Path('sample')
txts = list(root.rglob('*.txt'))
print('found', len(txts), 'text files')

Memfilter Saat Menelusuri

Gabungkan pencocokan glob dengan pemeriksaan is_file atau is_dir untuk memfilter hasil secara tepat.

from pathlib import Path

root = Path('sample')
files = [p for p in root.iterdir() if p.is_file()]
for f in sorted(files):
    print(f.name)

Memproses Berkas yang Ditemukan

Setelah mendapatkan hasil yang cocok, Anda dapat membaca setiap berkas. Di sini kita menjumlahkan isi setiap berkas teks dalam struktur direktori tersebut.

from pathlib import Path

root = Path('sample')
total = 0
for p in root.rglob('*.txt'):
    text = p.read_text().strip()
    if text.isdigit():
        total += int(text)
print('total:', total)

Mengurutkan Hasil Glob

Glob tidak menjamin urutan tertentu. Bungkus hasilnya dengan sorted() jika Anda memerlukan keluaran yang deterministik, misalnya saat membuat laporan.

from pathlib import Path

root = Path('sample')
for p in sorted(root.glob('*'), key=lambda x: x.name):
    print(p.name)

Pemeriksaan Singkat

Apa perbedaan antara glob dan rglob?

Ringkasan

Anda telah mempelajari cara menemukan berkas dengan pola glob.

  • iterdir menampilkan isi langsung.
  • glob mencocokkan pola (*, ?, [...]).
  • rglob melakukan pencarian secara rekursif.
  • Gabungkan pencocokan glob dengan filter is_file/is_dir, lalu baca hasil yang cocok.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Pencarian Glob dan Iterasi” gratis?

Ya — teks lengkap “Pencarian Glob dan Iterasi” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Python Academy, upgrade ke CoddyKit PRO. Kursus Python Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Pencarian Glob dan Iterasi”?

Temukan file dengan pola glob Kamu berlatih Python Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Python Academy?

Tidak diperlukan pengalaman sebelumnya. Python Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 3 dari 4.

Berapa lama pelajaran “Pencarian Glob dan Iterasi” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Python Academy ini?

Ya. Setiap pelajaran Python Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Objek Path
  2. Membaca dan Menulis File
  3. Pencarian Glob dan Iterasi
  4. Manipulasi Path
← Kembali ke Python Academy