Os modülünün scandir metodu
scandir metodu, bir klasörde bulunan dosya ve
alt klasörleri yineler. Metodun parametresinde klasörün yolunu belirtiriz. Metod
os.DirEntry nesnesini döndürür.
Sözdizimi
import os
os.scandir(klasör yolu)
Örnek
Klasörümüzün yapısını öğrenelim:
import os
print(os.scandir('dir'))
Kod çalıştırıldığında os.DirEntry nesnesi
alırız:
<nt.ScandirIterator object at 0x000001478707FF00>
Örnek
Şimdi elde edilen nesneyi bir döngü ile yineleyelim.
Sistem kaynaklarını serbest bırakmak için döngü
tamamlandıktan sonra, scandir metodunu kullanarak
yinelemeyi kapatmak gerekir:
import os
for file in os.scandir('dir'):
print(file)
os.scandir('dir').close()
Kodun çalıştırılma sonucu:
<DirEntry 'dir1'>
<DirEntry 'file1.txt'>
<DirEntry 'file2.txt'>
Örnek
Ayrıca, elde edilen nesneye name niteliğini
uygulayarak sadece dosya adlarını çıktılayabiliriz:
import os
for file in os.scandir('dir'):
print(file.name)
os.scandir('dir').close()
Kodun çalıştırılma sonucu:
dir1
file1.txt
file2.txt