လမ်းညွှန် (ဖိုင်တွဲ) ကို Python ရှိ ဇစ် သို့မဟုတ် တာတွင် ချုံ့ခြင်း။

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

ဖိုင်စာရင်း (ဖိုင်တွဲ) တစ်ခုလုံးကို Python တွင် ဇစ်ဖိုင်တစ်ခုအဖြစ် ချုံ့သောအခါ၊ ဖိုင်စာရင်းဖန်တီးရန် os.scandir() သို့မဟုတ် os.listdir() ကို အသုံးပြုနိုင်ပြီး ၎င်းတို့ကို ချုံ့ရန် zipfile module ကို အသုံးပြုသော်လည်း အသုံးပြုရပိုမိုလွယ်ကူပါသည်။ shutil module ၏ make_archive () သည် ပိုမိုလွယ်ကူသည်။

ဇစ်အပြင်၊ tar ကဲ့သို့သော အခြားဖော်မတ်များကိုလည်း ပံ့ပိုးပေးထားသည်။

zipfile module ကို အသုံးပြု၍ ဇစ်ဖိုင်များကို ချုံ့ခြင်းနှင့် ချုံ့ခြင်းဆိုင်ရာ နောက်ထပ်အချက်အလက်များအတွက်၊ အောက်ပါဆောင်းပါးကို ဖတ်ရှုပါ။

ဖိုင်တွဲ (ဖိုင်တွဲ) ကို ဇစ်ဖိုင်တစ်ခုထဲသို့ ချုံ့ပါ။:shutil.make_archive()

ပထမအငြင်းအခုံ၊ base_name သည် ဖန်တီးမည့် ဇစ်ဖိုင်၏အမည်ကို သတ်မှတ်သည် (တိုးချဲ့မှုမပါဘဲ)၊ ဒုတိယအငြင်းအခုံ၊ ဖော်မတ်သည် မော်ကွန်းပုံစံကို သတ်မှတ်သည်။

အငြင်းအခုံဖော်မတ်အတွက် အောက်ပါတို့ကို ရွေးချယ်နိုင်ပါသည်။

  • zip'
  • tar'
  • gztar'
  • bztar'
  • xztar'

တတိယအငြင်းအခုံ၊ root_dir၊ ကချုံ့မည့် directory ၏ root directory ၏လမ်းကြောင်းကိုသတ်မှတ်ပေးပြီး စတုတ္ထမြောက်အငြင်းအခုံဖြစ်သော base_dir သည် root_dir နှင့်ဆက်စပ်၍ ချုံ့ရမည့်လမ်းကြောင်းကိုသတ်မှတ်ပေးပါသည်။ နှစ်ခုလုံးကို ပုံသေအားဖြင့် လက်ရှိလမ်းညွှန်တွင် သတ်မှတ်ထားသည်။

base_dir ကို ချန်လှပ်ထားပါက၊ root_dir တစ်ခုလုံးကို ချုံ့သွားပါမည်။

data/temp
ဥပမာအားဖြင့်၊ ကျွန်ုပ်တို့တွင် အောက်ပါဖွဲ့စည်းပုံပါရှိသော လမ်းညွှန်တစ်ခုရှိသည်ဆိုပါစို့။

dir
├── dir_sub
   └── test_sub.txt
└── test.txt
import shutil

shutil.make_archive('data/temp/new_shutil', 'zip', root_dir='data/temp/dir')

base_dir ကို ချန်လှပ်ထားသည့် အထက်ဖော်ပြပါ ဆက်တင်များဖြင့် ချုံ့ထားသော new_shutil.zip သည် အောက်ပါအတိုင်း ချုံ့လိုက်ပါမည်။

new_shutil
├── dir_sub
   └── test_sub.txt
└── test.txt

ထို့နောက်၊ root_dir ရှိ လမ်းညွှန်ကို base_dir အတွက် သတ်မှတ်ထားပါက၊ အောက်ပါတို့ကို ပြပါမည်။

shutil.make_archive('data/temp/new_shutil_sub', 'zip', root_dir='data/temp/dir', base_dir='dir_sub')

အထက်ဖော်ပြပါဆက်တင်များဖြင့် ချုံ့ထားသော new_shutil_sub.zip အား အောက်ပါအတိုင်း ချုံ့လိုက်ပါမည်။

dir_sub
└── test_sub.txt