Osin scandir-metodi

Menetelmä scandir käy läpi tiedostoja ja alihakemistoja, jotka sijaitsevat hakemistossa. Menetelmän parametrina asetetaan polku hakemistoon. Menetelmä palauttaa kohteen os.DirEntry.

Syntaksi

pythonimport os

os.scandir(polku hakemistoon)

Esimerkki

Selvitetään hakemistomme rakenne:

pythonimport os

print(os.scandir('dir'))

Koodin suorituksen tuloksena saamme kohteen os.DirEntry:

python<nt.ScandirIterator object at 0x000001478707FF00>

Esimerkki

Käydään nyt saatu kohde läpi silmukalla. Järjestelmäresurssien vapauttamiseksi silmukan suorittamisen jälkeen on tarpeen sulkea läpikäynti scandir-menetelmällä:

pythonimport os

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

Suoritetun koodin tulos:

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

Esimerkki

Voimme myös tulostaa vain tiedostojen nimet käyttämällä saadun kohteen attribuuttia name:

pythonimport os

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

Suoritetun koodin tulos:

pythondir1
file1.txt
file2.txt

Katso myös

  • kohde DirEntry moduulissa os,
    joka sisältää iteroitavia tiedostoja ja alihakemistoja
  • menetelmä getcwd moduulissa os,
    joka palauttaa nykyisen työhakemiston
  • menetelmä makedirs moduulissa os,
    joka luo hakemiston
  • menetelmä rmtree moduulissa shutil,
    joka poistaa hakemiston rekursiivisesti
  • menetelmä copytree moduulissa shutil,
    joka kopioi hakemiston rekursiivisesti
  • menetelmä path.join moduulissa os,
    joka yhdistää polkuja