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

pythonimport os

os.scandir(papka yo'li)

Misol

Keling, papkamizning tuzilishini bilib olaylik:

pythonimport os

print(os.scandir('dir'))

Kod bajarilishi natijasida biz os.DirEntry ob'ektini olamiz:

python<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:

pythonimport os

for file in os.scandir('dir'):
  print(file)
  
  os.scandir('dir').close()

Bajarilgan kod natijasi:

python<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:

pythonimport os

for file in os.scandir('dir'):
  print(file.name)
  
  os.scandir('dir').close()

Bajarilgan kod natijasi:

pythondir1
file1.txt
file2.txt

Shuningdek qarang

  • DirEntry ob'ekti os modulidan,
    u takrorlanadigan fayl va pastki papkalarni o'z ichiga oladi
  • getcwd metodi os modulidan,
    u joriy ishchi katalogni qaytaradi
  • makedirs metodi os modulidan,
    u papka yaratadi
  • rmtree metodi shutil modulidan,
    u papkani rekursiv o'chiradi
  • copytree metodi shutil modulidan,
    u papkani rekursiv nusxalaydi
  • path.join metodi os modulidan,
    u yo'llarni birlashtiradi