معرفی آرگومانها و ماژول 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
است.