یک اسکریپت پایتون بنویسید که نام یک فایل را از ورودی بگیرد، با استفاده از zipfile.is_zipfile بررسی کند آیا فایل یک آرشیو ZIP است یا نه، و در صورت بودن آن محتوای آرشیو را در پوشهای با نام مشابه استخراج کند و در غیر این صورت پیام مناسبی چاپ نماید.
3.0 بازدید آخرین ویرایش در 202 روز قبل ساعت 02:44 0.0
برای حل این مسئله از ماژول استاندارد zipfile استفاده کنید: ابتدا مسیر فایل را بگیرید (با input یا argparse)، سپس با zipfile.is_zipfile(path) بررسی کنید که آیا فایل ZIP است یا خیر. اگر بله، با zipfile.ZipFile(path) آن را باز کرده و با متد extractall به پوشهای بساز شده (از os یا pathlib برای ایجاد پوشه استفاده کنید) استخراج کنید؛ اگر نه، پیام خطا چاپ کنید. نکات مفید: از try/except برای مدیریت خطاهای I/O و از namelist برای نمایش فهرست فایلها در آرشیو استفاده کنید و مجوزها و وجود مسیرها را پیش از استخراج بررسی نمایید.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
نخست با استفاده از zipfile.is_zipfile بررسی کنید که ورودی واقعاً یک آرشیو ZIP است. اگر بله، با ZipFile(path) آن را باز کنید و با extractall در پوشهای با نام مشابه استخراج کنید، و با استفاده از try/except استثناهای IO و BadZipFile را مدیریت کنید. قبل از استخراج، وجود پوشه خروجی و مجوزهای لازم را بررسی کنید و با pathlib یا os پوشه را بسازید تا با خطا مواجه نشوید. همچنین نامفهرست فایلهای داخل آرشیو را با namelist نمایش دهید تا کاربر از محتوا مطلع شود.
گزارش