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
pythonimport os
os.scandir(klasör yolu)
Örnek
Klasörümüzün yapısını öğrenelim:
pythonimport os
print(os.scandir('dir'))
Kod çalıştırıldığında os.DirEntry nesnesi
alırız:
python<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:
pythonimport os
for file in os.scandir('dir'):
print(file)
os.scandir('dir').close()
Kodun çalıştırılma sonucu:
python<DirEntry 'dir1'>
<DirEntry 'file1.txt'>
<DirEntry 'file2.txt'>
Örnek
Ayrıca, elde edilen nesneye name niteliğini
uygulayarak sadece dosya adlarını çıktılayabiliriz:
pythonimport os
for file in os.scandir('dir'):
print(file.name)
os.scandir('dir').close()
Kodun çalıştırılma sonucu:
pythondir1
file1.txt
file2.txt