Усули 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,
ки роҳҳоро якҷоя мекунад