Globlama ve Yineleme
Glob örüntüleriyle dosya bulun
Globlama ve Yineleme, CoddyKit'te ücretsiz bir Python Academy dersidir. Bu, 4 dersinin 3. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Python Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Python Academy kursu toplamda 4 dersten oluşur.
Dosyaları Bulma
pathlib, dizin içeriklerini listelemeyi ve bir desenle eşleşen dosyaları aramayı kolaylaştırır. Temel yöntemler iterdir, glob ve rglob'dur.
Örnek Bir Ağaç Oluşturma
Bu yöntemleri incelemek için önce küçük bir dosya dizini oluşturacağız. Bu kurulum yalnızca standart kütüphaneyi kullanır.
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 İçerikleri Listeler
iterdir(), bir dizinin doğrudan içindeki her girdiyi, her öğe için bir Path olacak şekilde üretir.
from pathlib import Path
root = Path('sample')
for entry in sorted(root.iterdir()):
print(entry.name)Bir Desenle glob
glob(), kabuk stili bir desenle eşleşen girdileri bulur. * joker karakteri, herhangi bir karakter dizisini eşleştirir.
from pathlib import Path
root = Path('sample')
for txt in sorted(root.glob('*.txt')):
print(txt.name)Tek Karakterlik Joker
? joker karakteri tam olarak bir karakterle eşleşir; sabit uzunluktaki adlar için kullanışlıdır.
from pathlib import Path
root = Path('sample')
for m in sorted(root.glob('?.txt')):
print(m.name)Karakter Aralıkları
Köşeli ayraçlar, kabuk glob işleminde olduğu gibi bir kümedeki veya aralıktaki herhangi bir tek karakterle eşleşir.
from pathlib import Path
root = Path('sample')
for m in sorted(root.glob('[ab].txt')):
print(m.name)rglob ile Özyinelemeli glob
rglob(), bir dizini ve tüm alt dizinlerini arar. glob('**/pattern') ile eşdeğerdir.
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)Eşleşmeleri Sayma
Glob sonuçları yineleyicilerdir. Eşleşmeleri saymak veya yeniden kullanmak için birini list() içine alın.
from pathlib import Path
root = Path('sample')
txts = list(root.rglob('*.txt'))
print('found', len(txts), 'text files')Yineleme Sırasında Filtreleme
Sonuçları kesin olarak filtrelemek için glob işlemini is_file veya is_dir denetimleriyle birleştirin.
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)Bulunan Dosyaları İşleme
Eşleşmeleri elde ettikten sonra her dosyayı okuyabilirsiniz. Burada ağaçtaki her metin dosyasının içeriğini topluyoruz.
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)Glob Sonuçlarını Sıralama
Glob belirli bir sıralamayı garanti etmez. Örneğin bir rapor oluştururken tutarlı bir çıktı gerektiğinde sonuçları sorted() içine alın.
from pathlib import Path
root = Path('sample')
for p in sorted(root.glob('*'), key=lambda x: x.name):
print(p.name)Hızlı Kontrol
glob ile rglob arasındaki fark nedir?
Özet
Glob desenleriyle dosya bulmayı öğrendiniz.
iterdirdoğrudan içeriği listeler.globbir desenle eşleşir (*,?,[...]).rglobözyinelemeli arama yapar.- Glob işlemini
is_file/is_dirfiltreleriyle birleştirip eşleşmeleri okuyun.
Sıkça Sorulan Sorular
“Globlama ve Yineleme” dersi ücretsiz mi?
Evet — “Globlama ve Yineleme” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Python Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Python Academy kursu toplamda 4 dersten oluşur.
“Globlama ve Yineleme” dersinde ne öğreneceğim?
Glob örüntüleriyle dosya bulun Python Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Python Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Python Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 3. dersidir.
“Globlama ve Yineleme” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Python Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Python Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Path Nesnesi
- Dosya Okuma ve Yazma
- Globlama ve Yineleme
- Yol İşleme