في هذه المقالة، ستتعلم كيفية إنشاء قاموس من قائمتين (2) في بايثون.
ولجعل الأمر أكثر متعة، لدينا السيناريو الجاري التالي:
في هذه المقالة، ستتعلم كيفية إنشاء قاموس من قائمتين (2) في بايثون.
ولجعل الأمر أكثر متعة، لدينا السيناريو الجاري التالي:
إحدى الطرق لتحليل المعلومات النصية هي استخدام سحابة الكلمات:
يكشف السؤال عن احتمال وجود بعض الفجوات في فهم أساسيات مكتبة التعبيرات العادية في Python.
إذا كنت شخصًا غير صبور، فإليك الإجابة المختصرة:
قد يحدث خطأ الاستيراد في العديد من الحالات والسيناريوهات.
في هذه المقالة، سوف تتعلم عن خطأ استيراد يحدث عادةً أثناء التعامل مع الحزم والتبعيات في Python.
تحتوي لغات البرمجة الأخرى مثل C++ وJava وJavaScript على آلية مدمجة للتعليقات متعددة الأسطر، ولكن لا توجد آلية مدمجة للتعليقات متعددة الأسطر في Python. وبالتالي، لن يعمل الكود التالي:
قائمة بايثون هي مجموعة من الكائنات المفهرسة والمرتبة والقابلة للتغيير.
هناك عدة طرق مختلفة لحذف عنصر القائمة.
لنفترض أن لديك ملف PDF، ولكنه كبير الحجم وترغب في ضغطه (ربما تريد تقليل حجمه للسماح بنقل أسرع عبر الإنترنت، أو ربما لتوفير مساحة التخزين).
الأمر الأكثر تحديًا هو أن نفترض أن لديك ملفات PDF متعددة تريد ضغطها.
توجد خيارات متعددة عبر الإنترنت، ولكنها تسمح عادةً بمعالجة عدد محدود من الملفات في المرة الواحدة. وبالطبع هناك أيضًا الوقت الإضافي المطلوب لتحميل الملفات الأصلية، ثم تنزيل النتائج. وبالطبع، ربما لا تشعر بالراحة عند مشاركة ملفاتك مع الإنترنت.
لحسن الحظ، يمكننا استخدام بايثون لمعالجة كل هذه المشكلات. ولكن قبل أن نتعلم كيفية القيام بذلك، دعونا أولاً نتعلم القليل عن ملفات PDF.
وفقًا لدوف إسحاقس، العالم الرئيسي السابق في شركة Adobe (انظر مناقشته هنا)، فإن مستندات PDF مضغوطة بالفعل إلى حد كبير.
إن أجزاء النصوص والرسومات المتجهة في المستندات مضغوطة داخليًا بالفعل، لذا فإن فرص التحسين هنا ضئيلة.
بدلاً من ذلك، يتم تحقيق أي تحسينات في ضغط الملفات من خلال ضغط أجزاء الصور من مستندات PDF، إلى جانب احتمال فقدان جودة الصورة.
قد يكون الضغط ممكنًا، ولكن يجب على المستخدم الاختيار بين مقدار الضغط مقابل مقدار فقدان جودة الصورة المقبول.
كتب مبرمج يُدعى Theeko74 نصًا برمجيًا بلغة بايثون يُسمى “pdf_compressor.py”. هذا النص البرمجي عبارة عن غلاف لوظائف ghostscript التي تقوم بالعمل الفعلي المتمثل في ضغط ملفات PDF.
يتم تقديم هذا البرنامج النصي بموجب ترخيص MIT وهو مجاني للاستخدام حسب رغبة المستخدم.
تلميح: تأكد من تثبيت ghostscript على جهاز الكمبيوتر لديك. لتثبيت ghostscript، اتبع هذا الدليل المفصل ثم عد بعد ذلك.
الآن قم بتنزيل pdf_compressor.py من GitHub.
في النهاية سوف نقوم بكتابة نص برمجي بلغة بايثون لأداء عملية الضغط.
لذا نقوم بإنشاء دليل لحمل البرنامج النصي، ونستخدم محررنا المفضل أو IDE لإنشائه (يستخدم هذا المثال سطر أوامر Linux لإنشاء الدليل، ويستخدم vim كمحرر لإنشاء البرنامج النصي “bpdfc.py”؛ استخدم اختيارك المفضل لإنشاء الدليل وإنشاء البرنامج النصي داخله):
1 2 3 | $ mkdir batchPDFcomp $ cd batchPDFcomp $ vim bpdfc.py |
عندما نكتب البرنامج النصي، سنقوم باستيراد “pdf_compressor.py” كوحدة نمطية داخله.
للتحضير لذلك يجب علينا إنشاء دليل فرعي أسفل دليل البرنامج النصي الخاص بـ Python.
بالإضافة إلى ذلك، سنحتاج إلى نسخ pdf_compressor.py إلى هذا الدليل الفرعي، وسنحتاج إلى إنشاء ملف __init__.py داخل نفس الدليل الفرعي:
1 2 3 4 | $ mkdir pdfc $ cp ~/Downloads/pdf_compressor.py ~/batchPDFcomp/pdfc/ $ cd pdfc $ vim __init__.py |
ما قمنا به هنا هو إنشاء حزمة محلية pdfc تحتوي على وحدة pdf_compressor.py.
ملاحظة: يشير وجود الملف init.py إلى Python أن هذا الدليل هو جزء من الحزمة، ويجب البحث هناك عن الوحدات النمطية.
نحن الآن جاهزون لكتابة النص الخاص بنا.
هنا هو البرنامج النصي:
1 2 | from pdfc.pdf_compressor import compress compress('Finxter_WorldsMostDensePythonCheatSheet.pdf', 'Finxter_WorldsMostDensePythonCheatSheet_compr.pdf', power=4) |
كما ترى، إنه نص قصير جدًا.
أولاً نقوم باستيراد وظيفة “compress” من وحدة “pdf_compressor”.
ثم نستدعي وظيفة “compress”. تأخذ الوظيفة كوسائط: مسار ملف الإدخال، ومسار ملف الإخراج، ووسيطة “power” التي تحدد الضغط على النحو التالي، من أقل ضغط إلى أعلى ضغط (وفقًا للوثائق الموجودة في البرنامج النصي):
مستويات الضغط:
0: default
1: prepress
2: printer
3: ebook
4: screen
الآن يمكننا تشغيل البرنامج النصي الخاص بنا:
1 2 3 4 5 6 | $ python bpdfc.py Compress PDF... Compression by 51%. Final file size is 0.2MB Done. $ |
لقد قمنا بضغط مستند PDF واحد فقط في هذا المثال، ولكن عن طريق تعديل البرنامج النصي للتنقل عبر مستندات PDF متعددة، يمكنك ضغط ملفات متعددة في وقت واحد.
نأمل أن تكون قد وجدت هذه المقالة مفيدة. نشكرك على القراءة، ونتمنى لك برمجة سعيدة!
إطار البيانات هو بنية بيانات ثنائية الأبعاد غير قابلة للتغيير وغير متجانسة بشكل عام. يحتوي على محاور مُسمَّاة – صفوف وأعمدة. يتألف إطار بيانات Pandas من ثلاثة أجزاء: البيانات والصفوف والأعمدة.
دعنا ننشئ إطار بيانات. سنستخدم إطار البيانات التالي في جميع أنحاء المقالة.
في هذه المقالة سأقدم لك 11 مكتبة استمتعت باللعب بها وفكرت في مشاركتها معك.