برنامه نویس Front-End ، علاقه مند به جاوا اسکریپت و پایتون که گاهی وقتا هم طراحی میکنه.
هر کاری یه اسکریپت پایتون داره - Python Cli
یکم داشتم بین مقالههای مختلف گشت میزدم تا رو یه موضوع جدید و چالشی برای خودم کار کنم و اگه چیز خوبی از آب دراومد اینجا با شما به اشتراک بذارم و بین همین جستجوها رسیدم به CLI که برام جالب بود. واسه همین بعد از یکم جستجو بیشتر دیدم که خب کتابخونههای خوبی در ارتباط باهاش برای پایتون نوشته شده تا بتونیم اسکریپت های خودمون رو با استفاده از CLI تو محیط سیستم عامل اجرا کنیم که شاید برای کسایی که به Command-line علاقه دارن تا حدودی جالب باشه.
اصن CLI چی هست ؟
این واژه که دقیقا میشه مخفف عبارت Command-line interface در واقع به شما کمک میکنه تا جدا از Shell Python اسکریپت مورد نظر خودتون رو با Command-line سیستم عامل اجرا کنید و به خروجی مد نظرتون برسید. حالا فرقش با اجرای معمولی اسکریپت چیه خب باید خدمتتون عرض کنم که شما اگر اسکریپت رو به صورت CLI نوشته باشید موقع اجرای برنامه خیلی راحت میتونید یه سری تنظیمات اولیه در هنگام اجرا تعریف کنید تا برنامه براساس تنظیمات CLI شما اجرا بشه برای مثال کد زیر رو در نظر بگیرید تا براتون توضیحش رو بدم :
شما اگه کد بالا رو داخل فایلی به اسم cli.py ذخیره کنید و با استفاده از Command-Line سیستم خودتون یکی از دستورهای زیر رو اجرا کنید متوجه میشید که به همین راحتی یک CLI خیلی ساده به وسیله پایتون طراحی کردید و حالا اگه دوست داشته باشید میتونید تو پروژه های خودتون ازش استفاده کنید.
با اجرای یکی از دستورهای بالا اسکریپت شما اجرا میشه و عبارت "!Hello, World" روی صفحه به نمایش درمیاد که البته شما با عوض کردن پارامتر "!World" در دستورهای بالا میتونید به هر کی دوست دارید سلام بدید ?.
حالا یکم حرفهای تر ادامه بدیم و چندتا از کتابخونههای معروف پایتون که برای این کار طراحی شده رو با هم بررسی کنیم و ببینیم هر کدوم به چه نحوه کار میکنن :
کتابخانه Click
این کتابخانه Syntax بسیار راحتی داره و به راحتی از طریق Package Manager پایتون یا همون Pip برای نصب در دسترسه از مزیتهاش به موارد زیر میشه اشاره کرد:
- سازگاری با ویندوز ( برخی از کتابخانهها در محیط ویندوز با محدودیت روبهرو هستند).
- پشتیبانی از قابلیت Help که به شما کمک میکنه تا برای هر Command یک توضیح در نظر بگیرید.
- پشتیبانی از قبلیت محدودیت گذاری Type بر روی دستورات که به شما کمک میکنه تا کدی تمیزتر داشته باشید.
کتابخانه Argparse
قطعه کد بالا یک تابع جمع ساده است که در ورودی دو عدد رو به صورت پارامتر وارد میکنید و نتیجه جمع دو عدد رو در خروجی دریافت میکنید از مزایای این کتابخانه میتونم به موارد زیراشاره کنم:
- نیاز به نصب این کتابخانه از طریق Pip نیست چون جزو کتابخانههای پیش فرض پایتون محسوب میشه.
- مشابه به کتابخانه قبلی میتونید برای هر ورودی یک Type استاندارد در نظر بگیرید.
- میتونید برای هر پارامتر یک مقدار Help تعریف کنید تا در صورت نیاز کاربر بتونه از توضیحات شما استفاده کنه.
کتابخانه PyInquirer
این کتابخونه یکم حرفهای تر از دوتا کتابخونه قبلی هستش و امکانات بیشتری تحت Command-Line در اختیارتون قرار میده که برای مثال لیست چندتا از راههایی که به شما اجاره میده تا دستوراتتون رو وارد کنید در پایین ذکر میکنم:
- سوالات Yes / No که اگه از خط فرمان استفاده کنید حتما باهاشون برخورد کردید و به صورت Y\n بیشتر نمایش داده میشن
- سوالات چند گزینهای که کاربر میتونه از بین موارد لیست شده انتخاب کنه که این خودش چند نوع نحوه نمایش داره که تو Github خیلی بهتر و مفصلتر توضیح داده.
- سولاتی با ورودی متن ساده که مثل همون Input سادهای هست که داخل خود Shell پایتون استفاده میکنید.
راستی خیلی راحت میتونید از طریق Pip این کتابخونه رو نصب کنید و ازش استفاده کنید و برای مثال من یک قطعه کد برای سفارش پیتزا ? این زیر قرار میدم که تقریبا همه انواع دستورات این کتابخونه رو پشتیبانی میکنه و البته جزو مثالهای اصلی مستندات خودش هم هست.
کلام آخر
برای پایتون چندین کتابخونه دیگه هم وجود دارد که با یه سرچ ساده میتونید بهشون برسید تو این مقاله فقط من سعی داشتم که اولا نحوه نوشتن یک Cli ساده توسط پایتون رو بررسی کنیم و همینطور یکی از مقالاتی که خودم درباره این موضوع خونده بودم به صورت ترجمه و با کمی تغییر دراختیارتون قرار بدم تا شما هم استفاده کنید.
مطلبی دیگر از این انتشارات
آخه سی یا سی پلاس پلاس به چه دردی میخوره ؟؟
مطلبی دیگر از این انتشارات
کتاب کامل پایتون ( python ) به زبان فارسی
مطلبی دیگر از این انتشارات
تاریخچه مختصر کامپیوتر ها