Modulio os metodas scandir

Metodas scandir perrenka failus ir pakatalogius, esančius kataloge. Metodo parametre nurodome katalogo kelią. Metodas grąžina objektą os.DirEntry.

Sintaksė

pythonimport os

os.scandir(katalogo kelias)

Pavyzdys

Išsiaiškinkime mūsų katalogo struktūrą:

pythonimport os

print(os.scandir('dir'))

Vykdant kodą gausime objektą os.DirEntry:

python<nt.ScandirIterator object at 0x000001478707FF00>

Pavyzdys

Dabar perrinkime gautą objektą ciklu. Kad išlaisvintume sistemos išteklius po ciklo užbaigimo, būtina uždaryti perrinkimą naudojant metodą scandir:

pythonimport os

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

Vykdyto kodo rezultatas:

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

Pavyzdys

Taip pat galime išvesti tik failų pavadinimus, pritaikę gautam objektui atributą name:

pythonimport os

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

Vykdyto kodo rezultatas:

pythondir1
file1.txt
file2.txt

Taip pat žiūrėkite

  • objektas DirEntry modulio os,
    kuriame yra iteruojami failai ir pakatalogiai
  • metodas getcwd modulio os,
    kuris grąžina einamąjį darbinį katalogą
  • metodas makedirs modulio os,
    kuris sukuria katalogą
  • metodas rmtree modulio shutil,
    kuris rekursyviai pašalina katalogą
  • metodas copytree modulio shutil,
    kuris rekursyviai kopijuoja katalogą
  • metodas path.join modulio os,
    kuris sujungia kelius