ماژول های سطح بالا

گفتیم که کتابخانه های استاندارد پایتون بسیار زیاد و متنوع هستند و به کاربران پایتون اجازه می دهند تا همیشه یک جعبه ابزار سبک و قدرتمند را با خود حمل کنند تا برنامه های مختلفی را به راحتی بنویسند. میتوانید به راحتی مفسر پایتون(یا هر نوع محیط دیگر پایتون) را باز کنید و کد زیر را بنویسید تا خروجی گرافیکی آن را ببینید. ترمینال پایتون را باز کنید و کد زیر خط به خط در آن اجرا کنید و خروجی را ببینید(علامت <<< نشان دهنده ی شروع خط هاست و نباید آن را در برنامه بنویسید):

>>> 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 میتواند بسیار مفید و راهگشا باشد. پیشنهاد می کنیم در این مورد حتما مطالعه کنید!