Moduļa os scandir metode

Metode scandir atkārto failus un apakšmapes, kas atrodas mapē. Metodes parametrā mēs norādām ceļu uz mapi. Metode atgriež objektu os.DirEntry.

Sintakse

pythonimport os

os.scandir(ceļš uz direktoriju)

Piemērs

Uzzināsim mūsu direktorijas struktūru:

pythonimport os

print(os.scandir('dir'))

Izpildot kodu, mēs iegūsim objektu os.DirEntry:

python<nt.ScandirIterator object at 0x000001478707FF00>

Piemērs

Tagad atkārtosim iegūto objektu ar ciklu. Lai atbrīvotu sistēmas resursus pēc cikla pabeigšanas, ir nepieciešams aizvērt atkārtošanu, izmantojot metodi scandir:

pythonimport os

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

Izpildītā koda rezultāts:

python<DirEntry 'dir1'>
<DirEntry 'file1.txt'>
<DirEntry 'file2.txt'>

Piemērs

Mēs varam izvadīt tikai failu nosaukumus, piemērojot iegūtajam objektam atribūtu name:

pythonimport os

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

Izpildītā koda rezultāts:

pythondir1
file1.txt
file2.txt

Skatiet arī

  • objekts DirEntry moduļa os,
    kas satur atkārtojamos failus un apakšmapes
  • metode getcwd moduļa os,
    kas atgriež pašreizējo darba direktoriju
  • metode makedirs moduļa os,
    kas izveido direktoriju
  • metode rmtree moduļa shutil,
    kas rekursīvi izdzēš mapi
  • metode copytree moduļa shutil,
    kas rekursīvi kopē mapi
  • metode path.join moduļa os,
    kas apvieno ceļus