0Pricing
Python Academy · درس

مكتبة Click

أنشئ واجهات سطر الأوامر باستخدام المزيّنات

مكتبة Click درس مجاني في Python Academy على CoddyKit. هذا هو الدرس 3 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Python Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Python Academy 4 دروس في المجموع.

ما هي Click؟

إن Click مكتبة شائعة من جهات خارجية لإنشاء واجهات سطر الأوامر باستخدام المزيّنات. فهي تتولى التحليل ونص المساعدة والمطالبات والألوان بقدر قليل جدًا من التعليمات البرمجية. ثبّتها باستخدام pip install click.

import click

@click.command()
def hello():
    click.echo('Hello from Click')

# hello() would run when called as a script

click.echo

استخدم click.echo() بدلًا من print. فهي تتعامل مع مشكلات الترميز وتعمل بسلاسة مع ميزات الألوان وإعادة التوجيه في Click.

import click

@click.command()
def greet():
    click.echo('Welcome!')

الوسائط

يعلن المزيّن @click.argument عن وسيط موضعي مطلوب، ويمرره Click إلى دالتك كمعامل.

import click

@click.command()
@click.argument('name')
def hello(name):
    click.echo('Hello ' + name)

الخيارات

يعرّف @click.option الأعلام الاختيارية. حدّد قيمة افتراضية، وسينشئ Click نص المساعدة ويتولى التعامل مع النوع تلقائيًا.

import click

@click.command()
@click.option('--count', default=1, help='Number of greetings')
def hello(count):
    for _ in range(count):
        click.echo('Hi')

الخيارات ذات الأنواع

يستنتج Click النوع من القيمة الافتراضية، أو يمكنك تحديده صراحةً باستخدام type=int. ينتج عن الإدخال غير الصالح خطأ واضح وسهل الفهم.

import click

@click.command()
@click.option('--age', type=int, default=0)
def show(age):
    click.echo('Age is ' + str(age))

الأعلام المنطقية

يصبح الخيار الذي يحتوي على is_flag=True مفتاحًا تكون قيمته True عند وجوده، مثل --verbose.

import click

@click.command()
@click.option('--shout', is_flag=True)
@click.argument('text')
def say(shout, text):
    click.echo(text.upper() if shout else text)

المطالبات

حدّد prompt=True، وسيطلب Click من المستخدم تفاعليًا إدخال القيمة إذا لم يُمرّر الخيار في سطر الأوامر.

import click

@click.command()
@click.option('--name', prompt='Your name')
def hello(name):
    click.echo('Hello ' + name)

مجموعات الأوامر

ينشئ @click.group أمرًا أصليًا يحتوي على أوامر فرعية، وهو النظير في Click للمحللات الفرعية في argparse. وتُربط الأوامر الفرعية باستخدام @cli.command().

import click

@click.group()
def cli():
    pass

@cli.command()
def start():
    click.echo('starting')

@cli.command()
def stop():
    click.echo('stopping')

الإخراج الملوّن

يضيف click.style اللون والتنسيق إلى النص، بينما يجمع click.secho بين echo والتنسيق في استدعاء واحد.

import click

@click.command()
def status():
    click.secho('OK', fg='green', bold=True)
    click.secho('Error', fg='red')

التأكيد والخروج

يطرح click.confirm سؤالًا بنعم أو لا، بينما يؤدي رفع click.Abort أو إرجاع قيمة إلى إنهاء الأمر بسلاسة.

import click

@click.command()
def delete():
    if click.confirm('Are you sure?'):
        click.echo('deleted')
    else:
        click.echo('cancelled')

argparse في مقابل Click

إن argparse مضمّنة في Python وممتازة للأدوات البسيطة. أما Click فهي تبعية خارجية، لكنها توفر أسلوبًا أنظف قائمًا على المزيّنات، ومجموعات متداخلة، ومطالبات، وألوانًا جاهزة لواجهات CLI الأكبر.

import click

@click.command()
@click.argument('items', nargs=-1)
def show(items):
    for item in items:
        click.echo(item)

اختبار سريع

اختبر مدى فهمك لـ Click.

مراجعة

لقد تعلمت مكتبة Click:

  • تعرّف المزيّنات @click.command و@click.argument و@click.option واجهة CLI.
  • تطبع click.echo وclick.secho النص، مع إمكانية استخدام الألوان.
  • تنشئ @click.group أوامر فرعية متداخلة، كما أن المطالبات وعمليات التأكيد مضمّنة.
  • إنها تبعية خارجية تُثبّت عبر pip.

التالي: تنسيق مخرجات الطرفية باستخدام rich.

الأسئلة الشائعة

هل درس «مكتبة Click» مجاني؟

نعم — نص درس «مكتبة Click» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Python Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Python Academy 4 دروس في المجموع.

ماذا ستتعلم في «مكتبة Click»؟

أنشئ واجهات سطر الأوامر باستخدام المزيّنات تتمرن على Python Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Python Academy؟

لا تُشترط خبرة سابقة. Python Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 3 من أصل 4.

كم من الوقت يستغرق درس «مكتبة Click»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس Python Academy هذا؟

نعم. كل درس في Python Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. أساسيات argparse
  2. الأوامر الفرعية والخيارات
  3. مكتبة Click
  4. مخرجات الطرفية المنسّقة
← العودة إلى Python Academy