Python တွင် နက်နဲသော hierarchical directory များကို ထပ်ခါတလဲလဲ ဖန်တီးရန် makedirs

စီးပွားရေးလုပ်ငန်း

မရှိသော လမ်းညွှန်တစ်ခုတွင် os.mkdir() ဖြင့် လမ်းညွှန်အသစ်တစ်ခု ဖန်တီးရာတွင် အမှားအယွင်းရှိသည်။

os.mkdir()ဤသည်မှာ Python တွင် directory (folder) တစ်ခုဖန်တီးရန်အသုံးပြုသည့်နည်းလမ်းဖြစ်သည်။ မရှိသော လမ်းညွှန်တစ်ခုတွင် လမ်းညွှန်အသစ်တစ်ခုကို ဖန်တီးရန် ကြိုးစားပါက အမှားအယွင်းတစ်ခု ဖြစ်ပေါ်လာမည်ဖြစ်သည်။(FileNotFoundError)

import os

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

os.madeirs() ဖြင့် လမ်းကြောင်းများကို ထပ်ခါတလဲလဲ ဖန်တီးပါ

os.mkdir(အစား) အစား os.makedirs() ကိုသုံးပါက ၎င်းသည် ကြားခံလမ်းညွှန်တစ်ခု ဖန်တီးပေးမည်ဖြစ်သောကြောင့် နက်နဲသော အထက်တန်းပြလမ်းညွှန်တစ်ခုကို ထပ်ခါထပ်ခါ ဖန်တီးနိုင်သည်။

os.makedirs('not_exist_dir/new_dir')

ဤဥပမာတွင်၊ ၎င်းသည် ၎င်းတို့အားလုံးကို တစ်ပြိုင်နက် ဖန်တီးပေးလိမ့်မည်။ အလယ်အလတ်လမ်းညွန်အသစ်များစွာရှိလျှင် ကောင်းပြီ။

  • အလယ်အလတ်လမ်းညွှန်:not_exist_dir
  • နောက်ဆုံးလမ်းညွှန်:new_dir

သို့သော်၊ အဆုံးလမ်းညွှန်ရှိပြီးသားဖြစ်ပါက၊ အမှားတစ်ခုဖြစ်ပေါ်လိမ့်မည်။(FileExistsError)

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

အငြင်းအခုံတစ်ခုရှိလျှင် exist_ok

Python 3.2 ကတည်းက၊ argument သည် exist_ok ကို ပေါင်းထည့်ထားပြီး ဖြစ်၍ exist_ok=True ဖြစ်ပါက၊ end directory ရှိနှင့်ပြီးဖြစ်သည့်တိုင် error မရှိပါ။ အဆုံးလမ်းညွှန်မရှိပါက၊ အသစ်တစ်ခုဖန်တီးမည်ဖြစ်ပြီး ၎င်းရှိနေပါက မည်သည့်အရာမှ လုပ်ဆောင်မည်မဟုတ်ပါ။ terminal directory ၏တည်ရှိမှုကိုကြိုတင်စစ်ဆေးရန်မလိုအပ်သောကြောင့်၎င်းသည်အဆင်ပြေသည်။

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

အကယ်၍ အကြောင်းပြချက် exist_ok ပျောက်ဆုံးနေပါသည်။

သင့်တွင် Python ၏ ဗားရှင်းအဟောင်းတစ်ခုရှိပြီး os.madeirs တွင် အငြင်းအခုံ exist_ok မပါပါက၊ အဆုံးလမ်းညွှန်တစ်ခု ရှိ/မရှိကို ဆုံးဖြတ်ရန် os.path.exists ကို အသုံးပြုနိုင်ပြီး မရှိမှသာ အသစ်တစ်ခု ဖန်တီးပါ။ အဆုံးသတ်လမ်းညွှန်။

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