Metoda scandir modułu os
Metoda scandir iteruje przez pliki i
podfoldery, które znajdują się w folderze. W
parametrze metody podajemy ścieżkę do folderu. Metoda
zwraca obiekt os.DirEntry.
Składnia
import os
os.scandir(ścieżka do katalogu)
Przykład
Sprawdźmy strukturę naszego katalogu:
import os
print(os.scandir('dir'))
W wyniku wykonania kodu otrzymamy
obiekt os.DirEntry:
<nt.ScandirIterator object at 0x000001478707FF00>
Przykład
Teraz przeiterujmy przez uzyskany obiekt
pętlą. Aby zwolnić zasoby systemowe
po zakończeniu pętli, należy
zamknąć iterator za pomocą metody scandir:
import os
for file in os.scandir('dir'):
print(file)
os.scandir('dir').close()
Wynik wykonanego kodu:
<DirEntry 'dir1'>
<DirEntry 'file1.txt'>
<DirEntry 'file2.txt'>
Przykład
Możemy również wypisać tylko nazwy plików,
stosując do uzyskanego obiektu atrybut name:
import os
for file in os.scandir('dir'):
print(file.name)
os.scandir('dir').close()
Wynik wykonanego kodu:
dir1
file1.txt
file2.txt
Zobacz też
-
obiekt
DirEntrymodułuos,
który zawiera iterowalne pliki i podfoldery -
metoda
getcwdmodułuos,
która zwraca bieżący katalog roboczy -
metoda
makedirsmodułuos,
która tworzy katalog -
metoda
rmtreemodułushutil,
która rekurencyjnie usuwa folder -
metoda
copytreemodułushutil,
która rekurencyjnie kopiuje folder -
metoda
path.joinmodułuos,
która łączy ścieżki