عرض النص الملون في محطة بايثون

عرض النص الملون في محطة بايثون
عرض النص الملون في محطة بايثون

إضافة اللون إلى الإخراج الطرفي في بيثون

تقدم Python طرقًا مختلفة لتحسين سهولة القراءة ومظهر المخرجات الطرفية. إحدى الطرق الفعالة هي استخدام النص الملون، الذي يمكنه تسليط الضوء على المعلومات المهمة أو التمييز بين أنواع مختلفة من البيانات.

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

يأمر وصف
\033[91m رمز الهروب ANSI للون النص الأحمر.
\033[0m رمز الهروب ANSI لإعادة تعيين تنسيق النص.
colorama.init(autoreset=True) يقوم بتهيئة colorama وتعيينه لإعادة ضبط الألوان تلقائيًا بعد كل طباعة.
colorama.Fore.RED ثابت Colorama للون النص الأحمر.
colorama.Style.RESET_ALL ثابت Colorama لإعادة ضبط جميع تنسيقات النص.
color_map.get(color, Fore.WHITE) يجلب اللون المحدد من قاموس color_map، ويتحول إلى اللون الأبيض بشكل افتراضي إذا لم يتم العثور على اللون.

فهم تقنيات تلوين النص الطرفي في بايثون

يستخدم البرنامج النصي الأول ANSI escape codes لطباعة النص الملون في المحطة. رموز الهروب هذه عبارة عن تسلسلات من الأحرف التي يفسرها الجهاز كأوامر لتغيير مظهر النص. على سبيل المثال، \033[91m يغير لون النص إلى اللون الأحمر، بينما \033[0m يعيد ضبط تنسيق النص. يحدد البرنامج النصي وظيفة، print_colored، والذي يأخذ وسيطتين: النص المراد طباعته واللون المطلوب. داخل الوظيفة، يقوم القاموس بتعيين أسماء الألوان إلى رموز ANSI المقابلة لها. تتم طباعة النص باستخدام سلسلة f تتضمن رمز اللون المناسب ورمز إعادة التعيين.

يستخدم البرنامج النصي الثاني colorama مكتبة، مما يبسط إخراج النص الملون عبر الأنظمة الأساسية. تتم تهيئة المكتبة باستخدام colorama.init(autoreset=True)، مع التأكد من إعادة تعيين تنسيق النص بعد كل عبارة طباعة. ال print_colored تأخذ الوظيفة في هذا البرنامج النصي واللون أيضًا كوسائط. يقوم القاموس بتعيين أسماء الألوان إلى colorama.Fore الثوابت مثل Fore.RED. تتم طباعة النص باستخدام سلسلة f تجمع بين ثابت اللون والنص Style.RESET_ALL ثابت لإعادة ضبط التنسيق. توضح هذه البرامج النصية طريقتين فعالتين لإضافة اللون إلى مخرجات الوحدة الطرفية، مما يعزز إمكانية القراءة وتجربة المستخدم.

استخدام رموز الهروب ANSI للنص الملون في بايثون

برنامج Python النصي مع رموز الهروب ANSI

def print_colored(text, color):
    color_codes = {
        "red": "\033[91m",
        "green": "\033[92m",
        "yellow": "\033[93m",
        "blue": "\033[94m",
        "magenta": "\033[95m",
        "cyan": "\033[96m",
        "white": "\033[97m",
    }
    reset_code = "\033[0m"
    print(f"{color_codes.get(color, color_codes['white'])}{text}{reset_code}")

الاستفادة من مكتبة "colorama" لتلوين النص الطرفي

نص بايثون باستخدام مكتبة "colorama".

from colorama import init, Fore, Style
init(autoreset=True)
def print_colored(text, color):
    color_map = {
        "red": Fore.RED,
        "green": Fore.GREEN,
        "yellow": Fore.YELLOW,
        "blue": Fore.BLUE,
        "magenta": Fore.MAGENTA,
        "cyan": Fore.CYAN,
        "white": Fore.WHITE,
    }
    print(f"{color_map.get(color, Fore.WHITE)}{text}{Style.RESET_ALL}")

استكشاف مكتبات إضافية للنص الملون في بايثون

أبعد من الاستخدام ANSI escape codes و ال colorama مكتبة، مكتبة قوية أخرى للنص الملون في بايثون هي termcolor. توفر هذه المكتبة واجهة برمجة تطبيقات مباشرة لطباعة النص الملون في الجهاز. وهو يدعم سمات النص المختلفة مثل الألوان الغامقة والتسطير والخلفية. ليستخدم termcolor، تحتاج أولاً إلى تثبيته باستخدام النقطة. بمجرد التثبيت، يمكنك استخدامه colored و cprint المهام. ال colored تقوم الدالة بإرجاع سلسلة تحتوي على تسلسلات الهروب المناسبة، بينما cprint طباعة النص مباشرة إلى المحطة.

مكتبة أخرى مفيدة هي rich، الذي لا يدعم النص الملون فحسب، بل يسمح أيضًا بالتنسيق المتقدم مثل الجداول وعرض تخفيض السعر وإبراز بناء الجملة. وهذا يجعلها أداة متعددة الاستخدامات لإنشاء تطبيقات سطر أوامر جذابة بصريًا. ليستخدم rich، قم بتثبيته عبر النقطة ثم استخدمه print وظيفة لتنسيق النص المحسن. تقوم هذه المكتبات بتوسيع خياراتك لتصميم النص الطرفي، مما يتيح لك إنشاء أدوات CLI أكثر جاذبية وسهلة الاستخدام.

الأسئلة المتداولة حول النص الملون في بايثون

  1. كيف أقوم بتثبيت مكتبة termcolor؟
  2. يمكنك تثبيت مكتبة termcolor باستخدام الأمر pip install termcolor.
  3. ما هو الفرق بين colorama و termcolor؟
  4. في حين يتم استخدام كلا المكتبتين للنص الملون في المحطة، colorama يركز بشكل أكبر على التوافق عبر الأنظمة الأساسية، بينما termcolor يوفر واجهة برمجة تطبيقات أكثر وضوحًا لسمات اللون والنص.
  5. هل يمكنني استخدام كل من colorama وtermcolor في نفس البرنامج النصي؟
  6. نعم، يمكنك استخدام كلتا المكتبتين في نفس البرنامج النصي إذا كنت بحاجة إلى ميزات من كليهما. فقط تأكد من تهيئتها واستخدامها بشكل صحيح.
  7. كيف يمكنني طباعة نص غامق باستخدام termcolor؟
  8. يمكنك طباعة نص غامق باستخدام معلمة السمة في colored وظيفة، على سبيل المثال، colored('Hello, World!', 'red', attrs=['bold']).
  9. هل من الممكن تلوين خلفية النص في المحطة؟
  10. نعم كلاهما colorama و termcolor دعم ألوان الخلفية. في coloramaيمكنك استخدام الثوابت مثل Back.RED، و في termcolor، يمكنك استخدام ال on_color معامل.
  11. كيف يمكنني إعادة تعيين تنسيق النص في الغنية؟
  12. في ال rich المكتبة، تتم إعادة تعيين تنسيق النص تلقائيًا في نهاية استدعاء وظيفة الطباعة، على غرار colorama's ميزة إعادة الضبط التلقائي.
  13. هل يمكنني استخدام هذه المكتبات لتنسيق النص في ملفات السجل؟
  14. تم تصميم هذه المكتبات بشكل أساسي للإخراج الطرفي. لتنسيق النص في ملفات السجل، قد تحتاج إلى استخدام مكتبة تسجيل مع دعم الألوان أو إضافة رموز ANSI يدويًا إذا كان عارض السجل يدعمها.
  15. ما هي بعض المكتبات الأخرى للتنسيق الطرفي المتقدم؟
  16. بجانب colorama, termcolor، و rich، يمكنك استكشاف المكتبات مثل blessed و texttable للحصول على خيارات التنسيق الطرفية المتقدمة.

الأفكار النهائية حول تلوين نص بايثون الطرفي

يعد استخدام النص الملون في محطات Python طريقة فعالة لتحسين وضوح وجاذبية تطبيقات سطر الأوامر. من خلال الاستفادة من أكواد أو مكتبات الهروب ANSI مثل colorama وtermcolor وrich، يمكن للمطورين بسهولة إضافة الألوان وسمات النص إلى مخرجاتهم. لا تجعل هذه التقنيات المخرجات الطرفية أكثر جاذبية من الناحية المرئية فحسب، بل تساعد أيضًا في تسليط الضوء على المعلومات المهمة وتحسين تفاعل المستخدم بشكل عام.