De scandir-methode van de os-module
De methode scandir itereert over bestanden en
submappen die zich in een map bevinden. In de
parameter van de methode geven we het pad naar de map op. De methode
retourneert een object os.DirEntry.
Syntaxis
import os
os.scandir(pad naar directory)
Voorbeeld
Laten we de structuur van onze directory achterhalen:
import os
print(os.scandir('dir'))
Als resultaat van het uitvoeren van de code krijgen we
een object os.DirEntry:
<nt.ScandirIterator object at 0x000001478707FF00>
Voorbeeld
Laten we nu het verkregen object doorlopen met een
lus. Om systeembronnen vrij te geven
na het voltooien van de lus, is het noodzakelijk
om de iteratie te sluiten met de methode scandir:
import os
for file in os.scandir('dir'):
print(file)
os.scandir('dir').close()
Het resultaat van de uitgevoerde code:
<DirEntry 'dir1'>
<DirEntry 'file1.txt'>
<DirEntry 'file2.txt'>
Voorbeeld
We kunnen ook alleen de bestandsnamen weergeven,
door het attribuut name op het verkregen object toe te passen:
import os
for file in os.scandir('dir'):
print(file.name)
os.scandir('dir').close()
Het resultaat van de uitgevoerde code:
dir1
file1.txt
file2.txt
Zie ook
-
object
DirEntryvan de moduleos,
dat bevat itereerbare bestanden en submappen -
methode
getcwdvan de moduleos,
die retourneert de huidige werkmap -
methode
makedirsvan de moduleos,
die een directory aanmaakt -
methode
rmtreevan de moduleshutil,
die recursief een map verwijdert -
methode
copytreevan de moduleshutil,
die recursief een map kopieert -
methode
path.joinvan de moduleos,
die paden samenvoegt