Метод scandir на модула os
Методът scandir обхожда файлове и
подпапки, които се намират в папка. В
параметъра на метода задаваме път до папката. Методът
връща обект os.DirEntry.
Синтаксис
import os
os.scandir(път до директория)
Пример
Нека разберем структурата на нашата директория:
import os
print(os.scandir('dir'))
В резултат на изпълнението на кода ще получим
обект os.DirEntry:
<nt.ScandirIterator object at 0x000001478707FF00>
Пример
Сега нека обходим получения обект
с цикъл. За да освободим ресурсите на
системата, след приключване на цикъла, е необходимо
да затворим обхождането с помощта на метода scandir:
import os
for file in os.scandir('dir'):
print(file)
os.scandir('dir').close()
Резултат от изпълнения код:
<DirEntry 'dir1'>
<DirEntry 'file1.txt'>
<DirEntry 'file2.txt'>
Пример
Също така можем да изведем само имената на файловете,
като приложим към получения обект атрибут name:
import os
for file in os.scandir('dir'):
print(file.name)
os.scandir('dir').close()
Резултат от изпълнения код:
dir1
file1.txt
file2.txt
Вижте също
-
обект
DirEntryна модулos,
който съдържа итерируеми файлове и подпапки -
метод
getcwdна модулos,
който връща текущата работна директория -
метод
makedirsна модулos,
който създава директория -
метод
rmtreeна модулshutil,
който рекурсивно изтрива папка -
метод
copytreeна модулshutil,
който рекурсивно копира папка -
метод
path.joinна модулos,
който обединява пътища