Os modulining scandir metodi
scandir metodi papkada joylashgan fayl va
pastki papkalarni takrorlaydi. Metod
parametrida papka yo'li belgilanadi. Metod
os.DirEntry ob'ektini qaytaradi.
Sintaksis
import os
os.scandir(papka yo'li)
Misol
Keling, papkamizning tuzilishini bilib olaylik:
import os
print(os.scandir('dir'))
Kod bajarilishi natijasida biz
os.DirEntry ob'ektini olamiz:
<nt.ScandirIterator object at 0x000001478707FF00>
Misol
Endi keling, olingan ob'ektni sikl bilan takrorlaymiz.
Tizim resurslarini bo'shatish uchun, sikl tugagach,
scandir metodi yordamida takrorlashni yopish
kerak:
import os
for file in os.scandir('dir'):
print(file)
os.scandir('dir').close()
Bajarilgan kod natijasi:
<DirEntry 'dir1'>
<DirEntry 'file1.txt'>
<DirEntry 'file2.txt'>
Misol
Shuningdek, biz faqat fayl nomlarini chiqarishimiz mumkin,
buning uchun olingan ob'ektga name atributini qo'llaymiz:
import os
for file in os.scandir('dir'):
print(file.name)
os.scandir('dir').close()
Bajarilgan kod natijasi:
dir1
file1.txt
file2.txt
Shuningdek qarang
-
DirEntryob'ektiosmodulidan,
u takrorlanadigan fayl va pastki papkalarni o'z ichiga oladi -
getcwdmetodiosmodulidan,
u joriy ishchi katalogni qaytaradi -
makedirsmetodiosmodulidan,
u papka yaratadi -
rmtreemetodishutilmodulidan,
u papkani rekursiv o'chiradi -
copytreemetodishutilmodulidan,
u papkani rekursiv nusxalaydi -
path.joinmetodiosmodulidan,
u yo'llarni birlashtiradi