ماژول های سطح بالا
گفتیم که کتابخانه های استاندارد پایتون بسیار زیاد و متنوع هستند و به کاربران پایتون اجازه می دهند تا همیشه یک جعبه ابزار سبک و قدرتمند را با خود حمل کنند تا برنامه های مختلفی را به راحتی بنویسند. میتوانید به راحتی مفسر پایتون(یا هر نوع محیط دیگر پایتون) را باز کنید و کد زیر را بنویسید تا خروجی گرافیکی آن را ببینید. ترمینال پایتون را باز کنید و کد زیر خط به خط در آن اجرا کنید و خروجی را ببینید(علامت <<< نشان دهنده ی شروع خط هاست و نباید آن را در برنامه بنویسید):
>>> from turtle import Turtle, done
>>> turtle = Turtle()
>>> turtle.right(180)
>>> turtle.forward(100)
>>> turtle.right(90)
>>> turtle.forward(50)
>>> done()
این کد از ماژول turtle استفاده میکنه که برای نمایش خروجی گرافیکی استفاده میشه. در این حالتی که توی کد بالا از turtle استفاده شده، ما کنترل یک فلش -> را در اختیار داریم و این فلش در زمان حرکت ردی از خود باقی میگذارد و turtle این رد را به ما نشان میدهد.
ماژول turtle یک ماژول high-level است و این به این معنی است که برای حوزه ی مشخصی ایجاد شده و در آن زمینه کارهای زیادی را انجام میدهد.
دیگر ماژول های high-level مهم به شرح زیر هستند:
- ماژول Difflib : برای چک کردن اختلاف خط به خط بین دو بلوک متنی
- ماژول Re: برای regular expressions (فصل بعدی در موردش صحبت می کنیم)
- ماژول Sqlite3: برای ارتباط با دیتابیس SQLite
- ماژول های فشرده سازی و آرشیو داده: gzip ، zipfile و tarfile
- ماژول های ارتباط با فایل های دارای فرمت های مختلف: XML، JSON، CSV و config parser
- ماژول Sched : برای زمان بندی کردن رویدادها در کتابخانه های استاندارد
- ماژول Argparse : برای ایجاد سریع CLI( command-line interface ) ها
حالا بیایید برای تمرین از ماژول سطح بالای argparse استفاده کنیم و ببینیم که چطور میتوان یک CLI را ایجاد کرد که یک ورودی را دریافت کند و کارهای مختلفی انجام دهد و خروجی را بازگرداند. این کد را در ترمینال پایتون بنویسید ولی برای اجرای راحت تر آن را در یک فایل با نام echo.py قرار دهید :
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('message', help='Message to be echoed')
parser.add_argument('-c', '--capitalize', action='store_true')
args = parser.parse_args()
if args.capitalize:
print(args.message.capitalize())
else:
print(args.message)
با این کد یک instance از کلاس ArgumentParser ایجاد می کنیم که به ما کمک می کند تا CLI را ایجاد کنیم. سپس دو آرگومان ورودی message و capitalize را برای آن تعریف می کنیم. حالا بیایید از این برنامه استفاده کنیم و خروجی آن را ببینیم:
python echo.py salam
در خروجی خواهیم داشت:
salam
python echo.py salam --capitalize
در خروجی خواهیم داشت:
Salam
python echo.py salam -c
در خروجی خواهیم داشت:
Salam
یادگیری توسعه ی CLI میتواند بسیار مفید و راهگشا باشد. پیشنهاد می کنیم در این مورد حتما مطالعه کنید!