Усули scandir модули os

Усули scandir файлҳо ва ҷузвадҳои зерро, ки дар ҷузвад ҷойгиранд, мегузаронад. Дар параметри усул роҳ ба ҷузвадро муайян мекунем. Усул объекти os.DirEntry-ро бармегардонад.

Синтаксис

pythonimport os

os.scandir(роҳ ба директория)

Намуна

Биёед сохтори директорияи худро муайян кунем:

pythonimport os

print(os.scandir('dir'))

Дар натиҷаи иҷрои код мо объекти os.DirEntry-ро мегирем:

python<nt.ScandirIterator object at 0x000001478707FF00>

Намуна

Ҳоло биёед объекти гирифташударо бо давр гузаронем. Барои озод кардани захираҳои система, пас аз анҷоми давр, зарур аст ки гузаришро бо истифода аз усули scandir пӯшед:

pythonimport os

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

  os.scandir('dir').close()

Натиҷаи коди иҷрошуда:

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

Намуна

Инчунин мо метавонем танҳо номҳои файлҳоро чоп кунем, бо истифода аз атрибути name ба объекти гирифташуда:

pythonimport os

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

  os.scandir('dir').close()

Натиҷаи коди иҷрошуда:

pythondir1
file1.txt
file2.txt

Инчунин нигаред

  • объекти DirEntry модули os,
    ки дар бар гирандаи файлҳо ва ҷузвадҳои зер мебошад
  • усули getcwd модули os,
    ки каталоги кори ҳозираро бармегардонад
  • усули makedirs модули os,
    ки директория месозад
  • усули rmtree модули shutil,
    ки ҷузвадро ба таври рекурсивӣ нест мекунад
  • усули copytree модули shutil,
    ки ҷузвадро ба таври рекурсивӣ нусхабардорӣ мекунад
  • усули path.join модули os,
    ки роҳҳоро якҷоя мекунад