ဖိုင်စာရင်း (ဖိုင်တွဲ) တစ်ခုလုံးကို Python တွင် ဇစ်ဖိုင်တစ်ခုအဖြစ် ချုံ့သောအခါ၊ ဖိုင်စာရင်းဖန်တီးရန် os.scandir() သို့မဟုတ် os.listdir() ကို အသုံးပြုနိုင်ပြီး ၎င်းတို့ကို ချုံ့ရန် zipfile module ကို အသုံးပြုသော်လည်း အသုံးပြုရပိုမိုလွယ်ကူပါသည်။ shutil module ၏ make_archive () သည် ပိုမိုလွယ်ကူသည်။
ဇစ်အပြင်၊ tar ကဲ့သို့သော အခြားဖော်မတ်များကိုလည်း ပံ့ပိုးပေးထားသည်။
zipfile module ကို အသုံးပြု၍ ဇစ်ဖိုင်များကို ချုံ့ခြင်းနှင့် ချုံ့ခြင်းဆိုင်ရာ နောက်ထပ်အချက်အလက်များအတွက်၊ အောက်ပါဆောင်းပါးကို ဖတ်ရှုပါ။
- ဆက်စပ်ဆောင်းပါးများ-Python ရှိ ZIP ဖိုင်များကို ချုံ့ပြီး ချုံ့ရန် zipfile
ဖိုင်တွဲ (ဖိုင်တွဲ) ကို ဇစ်ဖိုင်တစ်ခုထဲသို့ ချုံ့ပါ။: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