العمليات على ملفات zip
يمكنك استخدام المكتبة المضمنة zipfile للتعامل مع ملفات zip. لمن نسي، فإن ملف zip هو أرشيف يحتوي على ملفات مضغوطة.
يمكن عرض محتويات الأرشيف باستخدام دالة printdir، واستخراج جميع الملفات عن طريق استدعاء extractfile.
كما تتيح هذه المكتبة إنشاء أرشيفات zip خاصة بك، لكننا قررنا عدم تعقيد المثال، لذا نرفق ببساطة رابطًا إلى التوثيق الخاص بها.
#zipfile📦 🔍
يمكنك استخدام المكتبة المضمنة zipfile للتعامل مع ملفات zip. لمن نسي، فإن ملف zip هو أرشيف يحتوي على ملفات مضغوطة.
يمكن عرض محتويات الأرشيف باستخدام دالة printdir، واستخراج جميع الملفات عن طريق استدعاء extractfile.
كما تتيح هذه المكتبة إنشاء أرشيفات zip خاصة بك، لكننا قررنا عدم تعقيد المثال، لذا نرفق ببساطة رابطًا إلى التوثيق الخاص بها.
#zipfile
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2👨💻1🆒1
التعرف على الكلام باستخدام SpeechRecognition🎙
هي مكتبة بلغة Python توفر القدرة على استخدام واجهات برمجة التطبيقات (API) للتعرف على الكلام من شركات مختلفة مثل Google وMicrosoft وIBM وغيرها.
علاوة على ذلك، تدعم العمل في الوضع غير المتصل بالإنترنت (Offline).
هذه المكتبة تسهل عملية دمج الأوامر الصوتية ومعالجة البيانات الصوتية في مشاريعك. بفضل مجموعة واسعة من الإمكانيات، فإن SpeechRecognition مناسبة لإنشاء تطبيقات ذات تحكم صوتي، ومساعدات ذكية، وأكثر من ذلك بكثير.
#Python | #SpeechRecognition
هي مكتبة بلغة Python توفر القدرة على استخدام واجهات برمجة التطبيقات (API) للتعرف على الكلام من شركات مختلفة مثل Google وMicrosoft وIBM وغيرها.
علاوة على ذلك، تدعم العمل في الوضع غير المتصل بالإنترنت (Offline).
هذه المكتبة تسهل عملية دمج الأوامر الصوتية ومعالجة البيانات الصوتية في مشاريعك. بفضل مجموعة واسعة من الإمكانيات، فإن SpeechRecognition مناسبة لإنشاء تطبيقات ذات تحكم صوتي، ومساعدات ذكية، وأكثر من ذلك بكثير.
#Python | #SpeechRecognition
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4👨💻1
التعامل مع العدد العشري Decimal والكسر Fraction🧮
بسبب تخزين الأعداد الكسرية ذات الفاصلة العائمة بصيغة ثنائية، نعمل عادةً مع قيم تقريبية، كما هو موضح في الخيار الأول في لقطة الشاشة📸 .
للحصول على نتائج أكثر دقة، يمكن استخدام الفئة Decimal، لكنها قد لا تكفي في بعض الحالات⚠️ .
في هذا الصدد، من الأفضل استخدام الفئة Fraction للحسابات المثالية، لأنها تعمل مع الأعداد بصيغة كسور نسبية🎯 .
#decimal
بسبب تخزين الأعداد الكسرية ذات الفاصلة العائمة بصيغة ثنائية، نعمل عادةً مع قيم تقريبية، كما هو موضح في الخيار الأول في لقطة الشاشة
للحصول على نتائج أكثر دقة، يمكن استخدام الفئة Decimal، لكنها قد لا تكفي في بعض الحالات
في هذا الصدد، من الأفضل استخدام الفئة Fraction للحسابات المثالية، لأنها تعمل مع الأعداد بصيغة كسور نسبية
#decimal
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4🔥1👨💻1🆒1
دالة ()sample
دالة🎰 .
في المعامل الأول للدالة، نحدد السلسلة التي سيختار منها ، وفي المعامل الثاني، نحدد عدد العناصر التي نريد اختيارها بشكل عشوائي🎲 .
دالة
()sample في مكتبة random في بايثون تعيد عينة عشوائية من العناصر من قائمة معينفي المعامل الأول للدالة، نحدد السلسلة التي سيختار منها ، وفي المعامل الثاني، نحدد عدد العناصر التي نريد اختيارها بشكل عشوائي
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5🆒1
ال Underscore أو
في بايثون، يمكن أن يتكون اسم المتغير من Underscore
على الرغم من أن هذا الاسم ليس وصفيًا بما يكفي ولا ينبغي استخدامه، إلا أن هناك على الأقل ثلاث حالات يكون فيها
_في بايثون، يمكن أن يتكون اسم المتغير من Underscore
(_) واحدة. على الرغم من أن هذا الاسم ليس وصفيًا بما يكفي ولا ينبغي استخدامه، إلا أن هناك على الأقل ثلاث حالات يكون فيها
_ له معنى مقبول عمومًا.أولاً، يُستخدم_عندما تحتاج إلى تسمية قيم لا تهتم بها_على سبيل المثال، في حلقات for.
ثانيًا، يستخدم_لتخزين نتيجة آخر تعبير تم تنفيذه.
ثالثًا، توثيق وحدة gettext يقترح استخدام الاسم المستعار()_للدالة()gettextلتقليل ازدحام كودك.
❤5👨💻1
خدعة مع f-string
أعتقد أن الجميع يعرف بالفعل عن f-string كطريقة للتنسيق. أتذكر أنها ظهرت لأول مرة في Python 3.6.
لكن تم إضافة ميزة رائعة أخرى في التحديث 3.8 — يمكنك عرض اسم المتغير وقيمته مباشرةً بإضافة علامة المساواة كما هو موضح في الصورة.
#strings
أعتقد أن الجميع يعرف بالفعل عن f-string كطريقة للتنسيق. أتذكر أنها ظهرت لأول مرة في Python 3.6.
لكن تم إضافة ميزة رائعة أخرى في التحديث 3.8 — يمكنك عرض اسم المتغير وقيمته مباشرةً بإضافة علامة المساواة كما هو موضح في الصورة.
#strings
👍3🆒2
Forwarded from Open Source (TeleSpace)
📦 teng-lin/notebooklm-py
توفر هذه المكتبة API بلغة Python للوصول الشامل إلى ميزات Google NotebookLM الغير متوفرة على واجهة الويب الرسمية💸 .
تدعم المكتبة التكامل مع سطور الأوامر (CLI) والوحدات البرمجية، بالإضافة إلى دمجها بسلاسة في بيئات تطوير الذكاء الاصطناعي مثل Claude Code وCodex🤖 .
🚀 لماذا تحتاج إليها؟
#opensource | #github | #dev | #python
توفر هذه المكتبة API بلغة Python للوصول الشامل إلى ميزات Google NotebookLM الغير متوفرة على واجهة الويب الرسمية
تدعم المكتبة التكامل مع سطور الأوامر (CLI) والوحدات البرمجية، بالإضافة إلى دمجها بسلاسة في بيئات تطوير الذكاء الاصطناعي مثل Claude Code وCodex
✅ الوصول إلى وظائف متقدمة في NotebookLM غير متوفرة عبر واجهة الويب الرسمية.✅ تمكين تطوير مشاريع بحثية وتطبيقات مخصصة بدقة.✅ تسهيل دمج قدرات الذكاء الاصطناعي ضمن أدوات التطوير الحالية.
#opensource | #github | #dev | #python
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4❤2👨💻1
معالجة أرقام الهواتف📱
تعتمد الحزمة phonenumbers على مكتبة libphonenumber من Google، والتي تتيح تنسيق وتحليل والتحقق من أرقام الهواتف.
الفئة الرئيسية التي تمثل الرقم هي PhoneNumber. يمكن إنشاء كائن عن طريق استدعاء طريقة
بشكل عام، استخدام الحزمة بسيط جدًا، والأمثلة الأساسية متوفرة في الصورة.
يمكنك أيضًا الاطلاع على التوثيق للاستخدام المتقدم.
#python | #phonenumbers
تعتمد الحزمة phonenumbers على مكتبة libphonenumber من Google، والتي تتيح تنسيق وتحليل والتحقق من أرقام الهواتف.
الفئة الرئيسية التي تمثل الرقم هي PhoneNumber. يمكن إنشاء كائن عن طريق استدعاء طريقة
()parse وتمرير رقم الهاتف كسلسلة نصية في الحجة. يمكن أيضًا تحديد الدولة كحجة ثانية.بشكل عام، استخدام الحزمة بسيط جدًا، والأمثلة الأساسية متوفرة في الصورة.
يمكنك أيضًا الاطلاع على التوثيق للاستخدام المتقدم.
#python | #phonenumbers
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3
ترتيب القوائم بناءً على مفتاح🖍
للقوائم ميثود تسمى
كما يوجد فيها وسيط reverse يسمح بترتيب العناصر في الترتيب العكسي عند تعيين قيمته إلى True↩️ .
ولكن هناك أيضًا وسيط key مسؤول عن معيار الترتيب. يستقبل هذا الوسيط دالة تُطبق على كل عنصر، والنتيجة المعادة هي المعيار الذي سيتم بناءً عليه الترتيب⚙️ .
في الكود الموضح في الصورة، لدينا قائمة من القواميس تحتوي على أوصاف للسيارات. وقد قمنا بترتيب القائمة حسب سنوات إصدارها، أي بناءً على المفتاح 'year'📆 .
كما تم استخدام الدوال المجهولة (Lambda) بدلاً من كتابة الدوال العادية، وذلك لتثبيت الموضوع الحديث عنها🛸 .
#lists
للقوائم ميثود تسمى
()sort تقوم بترتيب العناصر. كما يوجد فيها وسيط reverse يسمح بترتيب العناصر في الترتيب العكسي عند تعيين قيمته إلى True
ولكن هناك أيضًا وسيط key مسؤول عن معيار الترتيب. يستقبل هذا الوسيط دالة تُطبق على كل عنصر، والنتيجة المعادة هي المعيار الذي سيتم بناءً عليه الترتيب
في الكود الموضح في الصورة، لدينا قائمة من القواميس تحتوي على أوصاف للسيارات. وقد قمنا بترتيب القائمة حسب سنوات إصدارها، أي بناءً على المفتاح 'year'
كما تم استخدام الدوال المجهولة (Lambda) بدلاً من كتابة الدوال العادية، وذلك لتثبيت الموضوع الحديث عنها
#lists
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6👨💻2🆒1
مكتبة ZeroLLM مشروع صغير اشتغلت عليه مؤخراً لجعل عملية الوصول لنماذج الذكاء الإصطناعي المجانية سهل ومرن جدًا .
فالمشكلة الحقيقية هي عندما تربط نموذج AI مجاني بمشروعك تتفاجأ بعد فترة بسيطة أنه صار مدفوع أو توقف ، وتضطر للبحث عن نموذج مجاني آخر وتروح تعدل الكود تبعك عشان تسوي إعدادات الربط مع النموذج الجديد وهكذا ...🌀
وهذه أكبر مشكلة عانيتها عند ربط ال AI لعمل المساعد الذكي في بوت TeleSpace ، كان كل يومين ينهار إلى أن يئست منه ولم أصلحه آخر مرة😅 .
لذلك قمت بعمل هذا المشروع كحل جذري وهو عبارة عن مكتبة Python خفيفة فكرتها ببساطه :
🤑 .
المشروع مفتوح المصدر بالكامل وجاهز للتجربة🤝 .
🖥 GitHub Repo : https://github.com/H55an/ZeroLLM
#Python | #AI | #LLM
فالمشكلة الحقيقية هي عندما تربط نموذج AI مجاني بمشروعك تتفاجأ بعد فترة بسيطة أنه صار مدفوع أو توقف ، وتضطر للبحث عن نموذج مجاني آخر وتروح تعدل الكود تبعك عشان تسوي إعدادات الربط مع النموذج الجديد وهكذا ...
وهذه أكبر مشكلة عانيتها عند ربط ال AI لعمل المساعد الذكي في بوت TeleSpace ، كان كل يومين ينهار إلى أن يئست منه ولم أصلحه آخر مرة
لذلك قمت بعمل هذا المشروع كحل جذري وهو عبارة عن مكتبة Python خفيفة فكرتها ببساطه :
انه لو حابب تستخدم نماذج ذكاء اصطناعي قوية بشكل مجاني تماماً وبدون أي تكلفة، المكتبة هذي راح تتولى كل شيء عنك خلف الكواليسكل اللي عليك تسويه هو إنك ترسل أسئلتك المباشرة كـ (نص عادي) عبر دالة🔡 .
بدل ما تجلس تبحث عن نموذج مجاني وتسوي إعدادات الربط يدويًا وبعد يومين يتوقف عليك🙂💔 .
هذه المكتبة تقوم ب :✅ البحث تلقائياً عن النماذج اللي تكلفتها 0$ حالياً على منصة OpenRouter وتفلترها🪣 .✅ اختيار أفضل نموذج مجاني متاح وتبدأ تتواصل معاه.✅ والأهم من هذا كله: لو حصل أي عطل أو بطء بالنموذج أثناء الاستخدام، المكتبة وبشكل ذكي وسريع راح تستبعده وتجرب نموذج مجاني ثاني شغال فوراً، بدون ما يوقف الكود تبعك أو ينهار تطبيقك!
()chat الخاصة بالمكتبة وهي تجيب لك الرد من أفضل نموذج مجاني متوفر بلمح البصر وببلاشالمشروع مفتوح المصدر بالكامل وجاهز للتجربة
#Python | #AI | #LLM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5👍2🆒2
نحسب الإشارات(المراجع) للكائن
في Python لا داعي أبدًا للقلق بشأن إدارة الذاكرة، لأن كل هذا يتم تلقائيًا.
عداد المراجع هو ما يساعد في التحقق مما إذا كان يجب تشغيل جمع النفايات أم لا. يقوم جامع النفايات بحذف الكائن من الذاكرة في حالة إذا لم يكن أي شيء لا يشير إليه.
إذا كان كائن آخر يشير إلى الكائن، فإن لديه قيمة غير صفرية من المراجع ولا يمكن جمعه كنفايات (ما لم تقم بحذفه يدويًا بالطبع).
يُظهر المثال أعلاه طريقة بسيطة لكيفية الاطلاع على عدد المراجع للكائن.
#python | #ctypes
في Python لا داعي أبدًا للقلق بشأن إدارة الذاكرة، لأن كل هذا يتم تلقائيًا.
عداد المراجع هو ما يساعد في التحقق مما إذا كان يجب تشغيل جمع النفايات أم لا. يقوم جامع النفايات بحذف الكائن من الذاكرة في حالة إذا لم يكن أي شيء لا يشير إليه.
إذا كان كائن آخر يشير إلى الكائن، فإن لديه قيمة غير صفرية من المراجع ولا يمكن جمعه كنفايات (ما لم تقم بحذفه يدويًا بالطبع).
يُظهر المثال أعلاه طريقة بسيطة لكيفية الاطلاع على عدد المراجع للكائن.
#python | #ctypes
❤5
تشغيل ملفات الصوت🎵
عن طريق استخدام المكتبة متعددة المنصات playsound، والتي يمكن تثبيتها بسهولة عبر pip.
تحتوي على دالة مفيدة واحدة فقط لتشغيل ملف صوتي:
يمكن استخدام المسار إلى ملف .mp3 أو .wav، أو حتى url الخاص به كحجة للدالة🎧 .
#audio | #playsound
عن طريق استخدام المكتبة متعددة المنصات playsound، والتي يمكن تثبيتها بسهولة عبر pip.
تحتوي على دالة مفيدة واحدة فقط لتشغيل ملف صوتي:
playsound('path/to/file.mp3')يمكن استخدام المسار إلى ملف .mp3 أو .wav، أو حتى url الخاص به كحجة للدالة
#audio | #playsound
Please open Telegram to view this post
VIEW IN TELEGRAM
🆒3👍2👨💻2
لقد قام أحدهم بتسريب كود المصدر لأداة "استكشاف الأخطاء وإصلاحها" الموجودة في نظام التشغيل Windows 😭 .
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣11😁3🌚3👨💻2
تحميل الفيديو من YouTube📹 📥
مكتبة pytube في Python تُقدم جميع الوظائف اللازمة لتحميل الفيديوهات من YouTube، بالإضافة إلى جمع جميع المعلومات المتعلقة بها📊 .
للعمل، نحتاج إلى إنشاء كائن من فئة YouTube. بالإضافة إلى ذلك، يمكن تمرير رابط الفيديو في الباني (constructor) كـ معلمات للدالة لمعالجة تقدم التحميل وإكماله⚙️ .
لتحميل التدفق المحدد، نستخدم دالة📀 .
#youtube | #pytube | #download
مكتبة pytube في Python تُقدم جميع الوظائف اللازمة لتحميل الفيديوهات من YouTube، بالإضافة إلى جمع جميع المعلومات المتعلقة بها
للعمل، نحتاج إلى إنشاء كائن من فئة YouTube. بالإضافة إلى ذلك، يمكن تمرير رابط الفيديو في الباني (constructor) كـ معلمات للدالة لمعالجة تقدم التحميل وإكماله
معظم الفيديوهات على يوتيوب لا تحتوي على مسارات صوتية في التدفقات ذات الدقة العالية، فوق 720p — ويرجع ذلك إلى تقنية نقل DASH التي يستخدمها يوتيوب🖼 .
لذلك، في الصورة أعلاه أوضحنا كيفية تصفية التدفقات ذات النقل التدريجي واختيار الدقة القصوى المتاحة حتى 720p من القائمة الناتجة📹 .
لتحميل التدفق المحدد، نستخدم دالة
()download ، ويمكن تمرير مسار المجلد للحفظ واسم الملف كـ Arguments #youtube | #pytube | #download
Please open Telegram to view this post
VIEW IN TELEGRAM
❤9👍1🆒1
مكتبة setuptools
تُعد مكتبة setuptools أداة لتبسيط عملية إنشاء وتثبيت وتوزيع حزم Python. تُستخدم بشكل أساسي لتسهيل تثبيت وإدارة تبعيات حزم Python🐍 .
توفر setuptools الوظائف اللازمة لإنشاء ملفات setup.py، التي تحتوي على معلومات حول حزمة مشروعك، وتبعياتها، وبياناتها الوصفية الأخرى. تُستخدم هذه الملفات من قبل أدوات تثبيت الحزم، مثل pip⚙ .
#pip | #setup
تُعد مكتبة setuptools أداة لتبسيط عملية إنشاء وتثبيت وتوزيع حزم Python. تُستخدم بشكل أساسي لتسهيل تثبيت وإدارة تبعيات حزم Python
توفر setuptools الوظائف اللازمة لإنشاء ملفات setup.py، التي تحتوي على معلومات حول حزمة مشروعك، وتبعياتها، وبياناتها الوصفية الأخرى. تُستخدم هذه الملفات من قبل أدوات تثبيت الحزم، مثل pip
#pip | #setup
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3🔥3👍1
التعامل مع مسارات الملفات
تحتوي Python على مكتبة مدمجة مريحة جدًا تسمى pathlib للتعامل البسيط مع مسارات الملفات🗂 .
لتمثيل مسار الملف، يوجد فئة Path، يمكن من خلال كائناتها تنفيذ العمليات. على سبيل المثال، الطرق💠 .
لكن الميزة الأذكى هي استبدال🖼 .
وبالتالي، يمكن أن تكون حزمة pathlib بديلاً جزئيًا لـ os في بعض الحالات عند العمل مع المسارات الملفاتية.
#pathlib
تحتوي Python على مكتبة مدمجة مريحة جدًا تسمى pathlib للتعامل البسيط مع مسارات الملفات
لتمثيل مسار الملف، يوجد فئة Path، يمكن من خلال كائناتها تنفيذ العمليات. على سبيل المثال، الطرق
()exists و ()is_dir تتحقق مما إذا كان الملف موجودًا وما إذا كان مجلدًالكن الميزة الأذكى هي استبدال
()os.path.join ببدائل أكثر راحة وأناقة باستخدام الشوائب (slashes)، كما هو موضح في الصورةوبالتالي، يمكن أن تكون حزمة pathlib بديلاً جزئيًا لـ os في بعض الحالات عند العمل مع المسارات الملفاتية.
#pathlib
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5👏2🆒2
الميثود ()issuperset في المجموعات(set)
تُرجع الميثود🛸 .
#set | #issuperset
تُرجع الميثود
()issuperset القيمة True إذا كانت جميع عناصر المجموعة المحددة موجودة في المجموعة الأصلية، وإلا فإنها ترجع False في حال لم توجد في المجموعة الأصلية#set | #issuperset
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6👍3🔥1
pprint
توفر الدالة pprint طباعة هياكل البيانات بشكل جميل وسهل القراءة.
يُستخدم لعرض كائنات معقدة مثل القواميس والقوائم، مع مسافات البادئة وأسطر متعددة لتحسين قابلية القراءة.
#pprint | #Customization
توفر الدالة pprint طباعة هياكل البيانات بشكل جميل وسهل القراءة.
يُستخدم لعرض كائنات معقدة مثل القواميس والقوائم، مع مسافات البادئة وأسطر متعددة لتحسين قابلية القراءة.
#pprint | #Customization
❤8🔥2👨💻1🆒1
النسخ السطحي
يمكن أن يكون نسخ الكائنات «سطحيًا» (shallow) أو «عميقًا» (deep). تكمن الفروقات بينهما في كيفية معالجة الكائنات المتداخلة.
عند النسخ السطحي، يتم إنشاء كائن جديد، لكن عناصره الداخلية (إذا كانت كائنات أيضًا) تظل مراجعات لنفس الكائنات الموجودة في الأصل. بعبارة أخرى، يتم نسخ المراجع إلى الكائنات فقط، وليس الكائنات نفسها.
#python | #copy
يمكن أن يكون نسخ الكائنات «سطحيًا» (shallow) أو «عميقًا» (deep). تكمن الفروقات بينهما في كيفية معالجة الكائنات المتداخلة.
عند النسخ السطحي، يتم إنشاء كائن جديد، لكن عناصره الداخلية (إذا كانت كائنات أيضًا) تظل مراجعات لنفس الكائنات الموجودة في الأصل. بعبارة أخرى، يتم نسخ المراجع إلى الكائنات فقط، وليس الكائنات نفسها.
#python | #copy
❤6🆒2🔥1👨💻1