الإعلانات
انقر فوق حزمة Python لكتابة واجهات سطر الأوامر. فهي تنتج وثائق جميلة لك وتتيح لك إنشاء واجهات سطر أوامر في سطر واحد فقط من التعليمات البرمجية. باختصار: إنه رائع ويمكن أن يساعد في نقل برامجك إلى المستوى التالي.
إليك كيفية استخدامه لإحياء مشروعات Python الخاصة بك.
كتابة برامج سطر الأوامر دون النقر
من الممكن كتابة برامج سطر الأوامر بدون استخدام Click ، ولكن القيام بذلك يتطلب المزيد من الجهد والمزيد من التعليمات البرمجية. تحتاج إلى تحليل وسيطات سطر الأوامر ، وإجراء التحقق ، وتطوير المنطق للتعامل مع الحجج المختلفة ، وإنشاء قائمة مساعدة مخصصة. هل تريد إضافة خيار جديد؟ ستقوم بتعديل وظيفة المساعدة الخاصة بك بعد ذلك.
لا حرج في كتابة التعليمات البرمجية الخاصة بك ، والقيام بذلك طريقة رائعة لتعلم لغة بايثون ، ولكن Click يسمح لك باتباع مبادئ "لا تكرر نفسك" (DRY). بدون Click ، ستكتب رمزًا هشًا ويتطلب الكثير من الصيانة كلما حدثت أي تغييرات.
إليك واجهة سطر أوامر بسيطة مشفرة بدون نقرة:
استيراد أنظمة. استيراد عشوائي def do_work (): دالة للتعامل مع استخدام سطر الأوامر args = sys.argv args = args [1:] # العنصر الأول من args هو اسم الملف إذا len (args) == 0: print ("لم تقم بتمرير أي أوامر في!") آخر: لـ a in args: if a == '--help': print ('Basic Command line program') print print ('Options:') print ('- -مساعدة -> عرض قائمة المساعدة الأساسية هذه. ') طباعة (' --monty -> عرض اقتباس Monty Python. ') طباعة (' --veg -> إظهار خضروات عشوائية ') elif a ==' --monty ': print (' ما هذا، ثم؟ "الرومان عمت دومو"؟ دعا الناس الرومان ، يذهبون ، المنزل؟ ') elif a ==' --veg ': print (random.choice ([' Carrot '،' Potato '،' Turnip '])) آخر: print (' غير معترف بها. ') إذا __name__ ==' __main__ ': do_work ()
هذه الخطوط الـ 27 من Python تعمل بشكل جيد ولكنها هشة للغاية. سيحتاج أي تغيير تجريه على برنامجك إلى الكثير من التعليمات البرمجية الداعمة الأخرى للتغيير. إذا قمت بتغيير اسم وسيطة ، فستحتاج إلى تحديث معلومات المساعدة. يمكن أن ينمو هذا الرمز بسهولة خارج نطاق السيطرة.
إليك نفس المنطق بنقرة:
انقر فوق استيراد. استيراد عشوائي @ click.command () @ click.option ('- monty'، default = False، help = 'Show a Monty Python quote.') @ click.option ('- veg'، default = False، help = 'Show a Vegetable random.') def do_work (monty، veg): المثال الأساسي للنقر سيتبع أوامرك إذا monty: print ("What \ 's this، then؟ "الرومان عمت دومو"؟ دعا الناس الرومان ، يذهبون ، المنزل؟ ') إذا veg: print (random.choice ([' Carrot '،' Potato '،' Turnip ']))) إذا __name__ ==' __main__ ': do_work ()
يطبق مثال النقر هذا نفس المنطق في 16 سطراً من التعليمات البرمجية. يتم تحليل الوسيطات لك ، ويتم إنشاء شاشة المساعدة:
توضح هذه المقارنة الأساسية مقدار الوقت والجهد اللذين يمكنك توفيرهما باستخدام برامج مثل Click. على الرغم من أن واجهة سطر الأوامر قد تظهر نفسها للمستخدم النهائي ، إلا أن الشفرة الأساسية أبسط ، وستوفر الكثير من وقت الترميز. ستشهد أي تغييرات أو تحديثات تكتبها في المستقبل أيضًا زيادة كبيرة في وقت التطوير.
لتبدأ انقر لبايثون
قبل استخدام Click ، قد ترغب في ذلك تكوين بيئة افتراضية تعرف على كيفية استخدام بيئة Python الافتراضيةسواء كنت مطورًا محترفًا في Python ، أو أنك بدأت للتو ، فإن تعلم كيفية إعداد بيئة افتراضية أمر ضروري لأي مشروع Python. اقرأ أكثر . سيؤدي هذا إلى إيقاف تضارب حزم Python مع نظام Python أو المشاريع الأخرى التي قد تعمل عليها. هل يمكن أيضا جرب بايثون في متصفحك جرب بايثون في متصفحك مع هذه الأصداف التفاعلية المجانية على الإنترنتسواء كنت تستعرض أمثلة Python هذه أو تستعرض أساسيات المصفوفات والقوائم ، يمكنك اختبار الرمز مباشرة في متصفحك. إليك أفضل مترجمين بلغة Python عبر الإنترنت وجدناهم. اقرأ أكثر إذا كنت تريد اللعب مع Python و Click.
أخيرًا ، تأكد من تشغيل Python الإصدار 3. من الممكن استخدام Click with Python الإصدار 2 ، ولكن هذه الأمثلة موجودة في Python 3. اعرف المزيد عن الاختلافات بين Python 2 و Python 3.
بمجرد أن تصبح جاهزًا ، قم بتثبيت Click من سطر الأوامر باستخدام PIP (كيفية تثبيت PIP لبيثون):
انقر فوق تثبيت نقطة
كتابة برنامج النقرة الأولى
في محرر النصوص ، ابدأ باستيراد Click:
انقر فوق استيراد
بمجرد الاستيراد ، قم بإنشاء طريقة و الأساسية نقطة الدخول. لنا دليل Python OOP تغطي هذه التفاصيل بمزيد من التفصيل ، ولكنها توفر مكانًا لتخزين التعليمات البرمجية الخاصة بك ، وطريقة لبدء Python في تشغيلها:
انقر فوق استيراد. استيراد ملف تعريف عشوائي عشوائي (): ستعرض الطريقة الأساسية طبعة نباتية عشوائية (عشوائية.اختيار (['Carrot'، 'Potato'، 'Turnip'، 'Parsnip']))) إذا __name__ == '__main__': veg ()
هذا النص البسيط سيخرج خضروات عشوائية. قد يبدو رمزك مختلفًا ، ولكن هذا المثال البسيط مثالي للدمج مع Click.
احفظ هذا كـ click_example.py، ثم قم بتشغيله في سطر الأوامر (بعد الانتقال إلى موقعه):
python click_example.py
يجب أن ترى اسم خضروات عشوائي. دعنا نحسن الأشياء بإضافة Click. قم بتغيير الرمز الخاص بك لتضمين ديكورات Click و a إلى عن على عقدة:
@ click.command () @ click.option ('- total'، default = 3، help = 'Number of Vegetables to output.') def veg (الكل): ستعرض الطريقة الأساسية خضروات عشوائية لرقم في النطاق (الإجمالي): اطبع (random.choice (['Carrot'، 'Potato'، 'Turnip'، 'Parsnip']))) إذا __name__ == '__main__': veg ()
عند الجري ، سترى خضروات عشوائية معروضة ثلاث مرات.
دعنا نكسر هذه التغييرات. ال @ click.command () تكوينات الديكور انقر للعمل مع الوظيفة التالية مباشرة للديكور. في هذه الحالة ، هذا هو veg () وظيفة. ستحتاج إلى ذلك لكل طريقة تريد استخدامها مع Click.
ال @ click.option يقوم الديكور بتكوين النقرات لقبول المعلمات من سطر الأوامر ، والتي ستمر إلى طريقتك. هناك ثلاث حجج مستخدمة هنا:
- -مجموع: هذا هو اسم سطر الأوامر لـ مجموع جدال.
- إفتراضي: إذا لم تحدد الوسيطة الإجمالية عند استخدام النص البرمجي ، فستستخدم Click القيمة من القيمة الافتراضية.
- مساعدة: جملة قصيرة تشرح كيفية استخدام برنامجك.
دعنا نرى انقر في العمل. من سطر الأوامر ، قم بتشغيل البرنامج النصي الخاص بك ، ولكن تمرير في مجموع حجة مثل هذه:
python click_example.py - إجمالي 10
عن طريق الإعداد - المجموع 10 من سطر الأوامر ، سيطبع النص البرمجي عشرة خضروات عشوائية.
إذا مرت في -مساعدة الإبلاغ ، سترى صفحة مساعدة جميلة ، إلى جانب الخيارات التي يمكنك استخدامها:
python click_example.py - مساعدة
إضافة المزيد من الأوامر
من الممكن استخدام العديد من أدوات تزيين النقرات على نفس الوظيفة. أضف خيار نقر آخر إلى نباتي وظيفة:
@ click.option ('- gravy'، default = False، help = 'Append "with gravy" to the vegetables.')
لا تنس تمرير هذا إلى الطريقة:
def veg (إجمالي ، مرق):
الآن عند تشغيل ملفك ، يمكنك تمرير مرق العلم:
python click_example.py - مرق y
تم تغيير شاشة المساعدة أيضًا:
إليك الرمز بالكامل (مع بعض إعادة الهيكلة البسيطة للأناقة):
انقر فوق استيراد. استيراد عشوائي @ click.command () @ click.option ('- gravy'، default = False، help = 'Append "with gravy" to the vegetables.') @ click.option ('- total'، default = 3، help = 'Number of Vegetables to output.') def veg (الإجمالي ، المرق): ستقوم الطريقة الأساسية بإرجاع خضروات عشوائية لرقم في النطاق (الإجمالي): الاختيار = random.choice (['Carrot'، 'Potato'، 'Turnip'، 'Parsnip']) إذا كانت المرق: طباعة (f '{choice} مع المرق') آخر: طباعة (اختيار) إذا __name__ == '__main__': veg ()
المزيد من خيارات النقر
بمجرد معرفة الأساسيات ، يمكنك البدء في إلقاء نظرة على خيارات النقر الأكثر تعقيدًا. في هذا المثال ، ستتعلم كيفية تمرير عدة قيم إلى وسيطة واحدة ، والتي ستحولها نقرة إلى مجموعة. يمكنك معرفة المزيد عن الصفوف في موقعنا دليل قاموس بيثون.
إنشاء ملف جديد يسمى click_example_2.py. إليك رمز البدء الذي تحتاجه:
انقر فوق استيراد. استيراد عشوائي @ click.command () def add (): ستضيف الطريقة الأساسية رقمين معًا. تمرير إذا __name__ == '__main__': add ()
لا يوجد شيء جديد هنا. يوضح القسم السابق هذا الرمز بالتفصيل. أضف @ click.option اتصل أعداد:
@ click.option ('- numbers'، nargs = 2، type = int، help = 'إضافة رقمين معًا.')
الرمز الجديد الوحيد هنا هو نرجس = 2، و ال النوع = int خيارات. هذا يخبر انقر لقبول قيمتين ل أعداد الخيار ، وأن كلاهما يجب أن يكون من نوع صحيح. يمكنك تغيير هذا إلى أي رقم أو نوع بيانات (صالح) تريده.
أخيرا ، قم بتغيير أضف طريقة لقبول أعداد حجة ، والقيام ببعض المعالجة معهم:
def add (أرقام): ستضيف الطريقة الأساسية رقمين معًا. النتيجة = أرقام [0] + أرقام [1] طباعة (و '{أرقام [0]} + {أرقام [1]} = {نتيجة}')
كل قيمة تمررها يمكن الوصول إليها من خلال أعداد موضوع. إليك كيفية استخدامه في سطر الأوامر:
python click_example_2.py - أرقام 1 2
انقر فوق هل الحل لـ Python Utilities
كما رأيت ، فإن Click سهل الاستخدام ولكنه قوي جدًا. على الرغم من أن هذه الأمثلة لا تغطي سوى أساسيات Click فقط ، فهناك الكثير من الميزات التي يمكنك التعرف عليها الآن حيث لديك فهم قوي للأساسيات.
إذا كنت تبحث عن بعض مشاريع Python لممارسة مهاراتك الجديدة التي تم العثور عليها ، فلماذا لا تتعلم كيفية التحكم في Arduino باستخدام Python كيفية برمجة اردوينو والتحكم بها مع بايثونللأسف ، من المستحيل برمجة Arduino مباشرة في Python ، ولكن يمكنك التحكم فيه عبر USB باستخدام برنامج Python. إليك الطريقة. اقرأ أكثر ، أو ماذا عن القراءة والكتابة إلى جداول بيانات Google باستخدام Python كيف تقرأ وتكتب على صفحات جوجل مع بايثونقد تبدو Python غريبة وغير عادية ، ولكن من السهل تعلمها واستخدامها. في هذه المقالة ، سأوضح لك كيفية القراءة والكتابة إلى جداول بيانات Google باستخدام Python. اقرأ أكثر ? أي من هذين المشروعين سيكون مثاليًا للتحويل إلى Click!
جو خريج في علوم الكمبيوتر من جامعة لينكولن بالمملكة المتحدة. إنه مطور برامج محترف ، وعندما لا يطير بطائرات بدون طيار أو يكتب موسيقى ، يمكن العثور عليه غالبًا وهو يلتقط الصور أو ينتج مقاطع فيديو.