معرفی arg و Argparser

  • مدرس : علی بیگدلی
  • تاریخ انتشار: 1404/05/12
  • تعداد بازدید: 27

معرفی آرگومان‌ها و ماژول argparse در پایتون

در بسیاری از برنامه‌های پایتون، نیاز است که هنگام اجرای برنامه ورودی‌هایی به صورت آرگومان (arguments) به آن داده شود؛ مثلاً نام فایل، گزینه‌ها یا پارامترهای مختلف. این ورودی‌ها معمولاً از طریق خط فرمان (command line) به برنامه ارسال می‌شوند. برای مدیریت و پردازش این آرگومان‌ها، پایتون ماژول‌های مختلفی دارد که argparse یکی از کامل‌ترین و استانداردترین آنهاست.

آرگومان‌ها (Arguments) چیستند؟

آرگومان‌ها مقادیری هستند که هنگام اجرای برنامه از خارج به آن ارسال می‌شوند. به طور مثال:

python my_script.py input.txt --verbose --count 5

در اینجا input.txt، --verbose و --count 5 آرگومان‌هایی هستند که برنامه باید آنها را دریافت و پردازش کند.

ماژول argparse چیست؟

ماژول argparse در پایتون ابزاری قدرتمند برای تعریف، پردازش و اعتبارسنجی آرگومان‌های خط فرمان است. این ماژول امکانات زیر را به شما می‌دهد:

  • تعریف انواع مختلف آرگومان‌ها (موقعیتی، گزینه‌ای، بولی و غیره)
  • تعریف نوع داده برای آرگومان‌ها (مثلاً عدد صحیح، رشته، لیست و غیره)
  • ارائه پیام‌های راهنما (help) به صورت خودکار
  • اعتبارسنجی ورودی‌ها و مدیریت خطا

نمونه کد ساده با argparse

import argparse

parser = argparse.ArgumentParser(description="برنامه نمونه برای پردازش آرگومان‌ها")

# تعریف یک آرگومان موقعیتی (اجباری)
parser.add_argument('input_file', help='نام فایل ورودی')

# تعریف یک آرگومان گزینه‌ای (اختیاری) بولی
parser.add_argument('--verbose', action='store_true', help='نمایش اطلاعات بیشتر')

# تعریف یک آرگومان گزینه‌ای با مقدار عددی
parser.add_argument('--count', type=int, default=1, help='تعداد دفعات اجرا')

args = parser.parse_args()

print("فایل ورودی:", args.input_file)
print("حالت verbose فعال است؟", args.verbose)
print("تعداد دفعات:", args.count)

با اجرای این برنامه به شکل زیر:

python my_script.py data.txt --verbose --count 3

خروجی مشابه زیر خواهید داشت:

فایل ورودی: data.txt
حالت verbose فعال است؟ True
تعداد دفعات: 3

ماژول argparse کار شما را برای مدیریت آرگومان‌ها بسیار ساده و حرفه‌ای می‌کند و جایگزین مناسبی برای پردازش دستی آرگومان‌ها با استفاده از sys.argv است.

ثبت دیدگاه


نکته: آدرس ایمیل شما منتشر نخواهد شد

دیدگاه کاربران (0)


هیچ دیدگاهی ثبت نشده است. می‌توانید اولین نفر باشید.