ملخص
تسمح مكتبتنا بالضغط متعدد الدفق لبعض التنسيقات. يتيح لك ذلك زيادة سرعة ضغط البيانات بشكل ملحوظ.موازنة أرشيفات BZIP2 وLZIP وXZ
يمكن ضبط عدد خيوط الضغط من خلال خاصية "خيوط الضغط" لفئة الإعدادات المقابلة. القيمة الافتراضية هي 1، وبالتالي يتم إجراء الضغط على مؤشر ترابط واحد. ومع ذلك، إذا قمت بتعيين قيمة أكبر من واحد، فستستخدم الخوارزمية العدد المقابل من مراكز المعالج
Parallel compression to BZIP2
save_options = zp.bzip2.Bzip2SaveOptions()
save_options.compression_threads = 4
with zp.bzip2.Bzip2Archive() as archive:
archive.set_source("data.bin")
archive.save("archive.bz2", save_options)
Parallel compression to LZIP
# Will use 16Mb for dictionary:
settings = zp.lzip.LzipArchiveSettings(0x1000000)
settings.compression_threads = 4
with zp.lzip.LzipArchive(settings) as archive:
archive.set_source("data.bin")
archive.save("archive.lz")
Parallel compression to XZ
settings = zp.xz.settings.XzArchiveSettings()
settings.compression_threads = 4
with zp.xz.XzArchive(settings) as archive:
archive.set_source("data.bin")
archive.save("archive.xz")
في هذه الأمثلة، تنفذ مقتطفات كود Python إجراءات مماثلة لإنشاء أرشيفات، وتختلف فقط في تنسيقات الضغط المستخدمة. وعادةً ما تتبع الخطوات التالية:
- قم بإنشاء كائن إعدادات خاص بتنسيق الأرشيف.
- قم بتعيين عدد التدفقات المتوازية للضغط.
- يتم إنشاء كائن أرشيف في السياق، مما يضمن الإغلاق التلقائي للأرشيف بعد اكتمال العمليات.
- حدد مصدر البيانات المراد إضافتها إلى الأرشيف.
- احفظ الأرشيف بالتنسيق المناسب باستخدام الإعدادات التي تم تكوينها.
ضغط LZMA2 وتعدد مؤشرات الترابط في أرشيفات 7Z
يوضح هذا المثال كيفية إنشاء أرشيف 7z باستخدام ملف data.bin. نحن نستخدم خوارزمية ضغط LZMA2 مع أربعة تدفقات لضغط البيانات بكفاءة.
Parallel compression to 7Z LZMA2
compression_settings = zp.saving.SevenZipLZMA2CompressionSettings()
compression_settings.compression_threads = 4
entry_settings = zp.saving.SevenZipEntrySettings(compression_settings)
with zp.sevenzip.SevenZipArchive(entry_settings) as archive:
archive.create_entry("data.bin", "data.bin")
archive.save("result.7z")
يقوم هذا الرمز بإنشاء أرشيف 7z عن طريق قراءة البيانات من ملف data.bin، باستخدام SevenZipLZMA2CompressionSettings بدلاً من إعدادات Bzip2 أو Lzip أو XZ وخوارزمية الضغط LZMA2 بأربعة مؤشرات ترابط للضغط. يستخدم طريقة create_entry الخاصة بـ SevenZipArchive بدلاً من طريقة set_source.
تسريع أرشفة ملفات ZIP باستخدام الضغط المتوازي
يمكن موازنة إنشاء أرشيف ZIP على مستوى الإدخال. للقيام بذلك، استخدم مثيل ParallelOptions وخصائصه
parallel_opt = zp.saving.ParallelOptions()
parallel_opt.parallel_compress_in_memory = zp.saving.ParallelCompressionMode.AUTO
save_opt = zp.saving.ArchiveSaveOptions()
save_opt.parallel_options = parallel_opt
with zp.Archive as archive:
archive.create_entries("~/Data")
archive.Save("archive.zip", save_opt)
الميزات الرئيسية هي:
- استخدام ParallelOptions لتكوين الضغط المتوازي في الذاكرة.
- استخدام ArchiveSaveOptions لإعدادات الحفظ العامة.
- استخدام طريقة create_entries لإضافة ملفات من دليل ~/Data إلى الأرشيف.
ميزات Aspose.ZIP الأخرى المدعومة لـ Python.Net API
باستخدام مكتبة Aspose.ZIP في Python.Net، يمكنك التعامل بسهولة مع المهام المتنوعة المتعلقة بمستندات الملفات المضغوطة. سواء كنت بحاجة إلى تحويل التنسيقات أو دمج الملفات أو تحرير المحتويات أو استخراج البيانات، فإن Aspose.ZIP يوفر وظائف شاملة لتبسيط سير عملك وتحسين الإنتاجية.
Support and Learning Resources
- مصادر التعلم
- توثيق
- مصدر الرمز
- مراجع واجهة برمجة التطبيقات
- لماذا Aspose.Zip لـ Python.Net؟
- قائمة العملاء
- قصص النجاح