الوصول إلى ملف كبير في أرشيف Zip مع HTML في Python-WebKit WebView دون استخراج
-
12-09-2019 - |
سؤال
أعتذر عن أي ارتباك من عنوان السؤال. إنه نوع من الوضع المعقد مع مكونات جديدة بالنسبة لي لذلك أنا غير متأكد من كيفية وصفه بإيجاز.
لدي بعض بيانات XML وصورة في أرشيف (الرمز البريدي في هذه الحالة، ولكن يمكن بسهولة أن يكون tar tar أو tar.gz) واستخدام python، gtk، و webkit، ضع الصورة في webkit.webview، جنبا إلى جنب مع بعض من بيانات أخرى. XML هو تشغيل الطفل للوصول دون استخراج الملفات، ولكن الصورة مشكلة أخرى.
أرغب في تجنب استخراج الصورة إلى الأقراص الصلبة قبل وضعه في WebView والقيام بتشفير Base64 لبيانات الصورة يشعر بالرقع، خاصة وأن الصور قد تصل إلى عشرات ميغابايت.
أساسا أنا أبحث عن وسيلة لإنشاء URI إلى ملف مخزن داخل ملف الحاوية.
لقد طلبت قبل بضعة أيام في IRC وتم توجيهها نحو أنظمة الملفات الافتراضية. في عمليات البحث التي أجريتها، وجدت بعض المراجع لإنشاء VFS من ملف مضغوط، ولكن لا توجد أمثلة أو حتى في طريق الوثائق على أنظمة الملفات الافتراضية نفسها (Gnomevfs، GVFS، GIO.) قد أبحث في كل أماكن خاطئة، ولكن.
المحلول
ال zipfile
توفر الوحدة النمطية في مكتبة Python القياسية أدوات لإنشاء وقراءة وكتابة وإلحاق وسرد ملف مضغوط.
استخدام ZipFile.read(name[, pwd])
(إرجاع البايتات من اسم الملف في الأرشيف)، يمكنك تطبيق base64.b64encode(s[, altchars])
إلى المحتوى. لاحظ أنه في هذه العملية المباشرة، غير المقدمة و يتم تخزين الإصدارات المشفرة في الذاكرة.