makedirs Python-da rekursiv şəkildə dərin iyerarxik kataloqlar yaratmaq üçün

Biznes

Mövcud olmayan qovluqda os.mkdir() ilə yeni kataloq yaratarkən xəta

os.mkdir()Bu Python-da kataloq (qovluq) yaratmaq üçün istifadə olunan üsuldur. Mövcud olmayan qovluqda yeni kataloq yaratmağa cəhd etsəniz, xəta baş verəcək.(FileNotFoundError)

import os

os.mkdir('not_exist_dir/new_dir')
# FileNotFoundError

os.madeirs() ilə rekursiv qovluqlar yaradın.

Əgər os.mkdir() əvəzinə os.makedirs() istifadə etsəniz, o, aralıq kataloq yaradacaq, beləliklə, siz rekursiv şəkildə dərin iyerarxik kataloq yarada bilərsiniz.

os.makedirs('not_exist_dir/new_dir')

Bu nümunənin vəziyyətində, hamısını bir anda yaradacaqdır. Çoxlu yeni aralıq kataloqlar varsa, bu, yaxşıdır.

  • ara kataloq:not_exist_dir
  • yekun kataloq:new_dir

Bununla belə, əgər son kataloq artıq mövcuddursa, xəta baş verəcəkdir.(FileExistsError)

os.makedirs('exist_dir/exist_dir')
# FileExistsError

Əgər arqument varsa, var_ok

Python 3.2-dən bəri, exist_ok arqumenti əlavə edilmişdir və əgər exist_ok=Doğrudursa, son kataloq artıq mövcud olsa belə, heç bir xəta baş verməyəcək. Son kataloq mövcud deyilsə, yenisi yaradılacaq və əgər varsa, heç bir şey edilməyəcəkdir. Bu rahatdır, çünki əvvəlcədən terminal kataloqunun mövcudluğunu yoxlamağa ehtiyac yoxdur.

os.makedirs('exist_dir/exist_dir', exist_ok=True)

Varsa_ok arqumenti yoxdursa

Əgər sizdə Python-un köhnə versiyası varsa və os.madeirs-də exist_ok arqumenti yoxdursa, son kataloqun olub-olmadığını müəyyən etmək üçün os.path.exists-dən istifadə edə və sonra yalnız yoxdursa yenisini yarada bilərsiniz. son kataloq.

if not os.path.exists('exist_dir/exist_dir'):
    os.makedirs('exist_dir/exist_dir')
Copied title and URL