Amir big
Amir big
خواندن ۳ دقیقه·۳ سال پیش

آموزش ماژول argparse پایتون + ویدیو

آموزش ماژول argparse پایتون
آموزش ماژول argparse پایتون


معرفی argparse پایتون

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

https://www.aparat.com/v/yfKpq/%D8%A2%D9%85%D9%88%D8%B2%D8%B4_%D9%85%D8%A7%DA%98%D9%88%D9%84_argparse_%D9%BE%D8%A7%DB%8C%D8%AA%D9%88%D9%86

نحوه استفاده از ماژول argparse بسیار ساده است. به مثال زیر دقت کنید:

import argparse parser = argparse.ArgumentParser() parser.parse_args()


این ساده‌ترین کدی هست که میتونید در argparse بنویسید:

  • در خط اول ماژول argparse رو import کردیم.
  • در خط دوم از کلاس ArgumentParser یک آبجکت ساختیم که وظیفه اضافه کردن آروگومان‌ها رو داره.
  • در خط سوم با آبجکتی که ساخته بودیم، متد parse_args رو صدا زدیم که وظیفه آماده کردن آرگومان‌ها رو داره.

اضافه کردن آرگومان به argparse پایتون

در حال حاضر کد ما هیچ آرگومانی نداره و اگر براش آرگومانی ارسال کنید، ارور میده:

$ python test.py amir # OUTPUT usage: two.py [-h] two.py: error: unrecognized arguments: amir


در کد بالا میبینید که من آرگومان amir رو براش فرستادم اما کد ارور میده که ما همچین آرگومانی نمیخواستیم. جالب اینجاست که ماژول argparse به طور اتوماتیک برای ما help رو ایجاد میکنه. اگر همون کد بالا رو با آپشن h- اجرا کنید به شما راهنما رو نشون میده:

$ python test -h # OUTPUT usage: two.py [-h] optional arguments: -h, --help show this help message and exit


اضافه کردن آرگومان به برنامه خیلی راحته. فقط کافیه متد add_argument رو صدا بزنید و اسم آرگومانتون رو مشخص کنید. در کد پایین من یک آرگومان به نام name اضافه کردم:

import argparse parser = argparse.ArgumentParser() parser.add_argument('name') parser.parse_args()


حالا اگر به کد بالا آرگومان ارسال کنم دیگه ارور نمیده. چون انتظار یه آرگومان رو داشته. و اگر در این حالت دوباره راهنما رو درخواست کنید به طور اتوماتیک آرگومان name اضافه شده:

$ python test.py amir $ python test.py -h usage: two.py [-h] name positional arguments: name optional arguments: -h, --help show this help message and exit


در صفحه راهنما که بالا هست فقط اسم آرگومان رو نوشته و نگفته که به چه دردی میخوره. اگر بخواید برای هر آرگومانی یک توضیح اضافه کنید میتونید help رو به add_argument بفرستید:

parser.add_argument('name', help='your name') $ python test.py -h usage: two.py [-h] name positional arguments: name your name optional arguments: -h, --help show this help message and exit

گرفتن آرگومان argparse پایتون

الآن ما یک آرگومان اضافه کردیم و میخوایم باهاش کار کنیم. برای اینکار باید parse_args رو بریزیم داخل متغیر و از اون متغیر برای دسترسی به آرگومان‌ها استفاده کنیم:

import argparse parser = argparse.ArgumentParser() parser.add_argument('name', help='your name') args = parser.parse_args() print(args.name)


در کد بالا میبینید که parse_args رو ریختم داخل متغیر args و با اون میتونم به آرگومان‌ها دسترسی پیدا کنم. حالا کد بالا رو با یک آرگومان اجرا میکنم:

$ python test.py amir >>> amir

میبیند که اسم خودم رو بهش فرستادم و اون هم چاپش کرد.


کار با چند آرگومان در argparse پایتون

شما میتونید هر تعداد که میخواید آرگومان در ماژول argparse پایتون مشخص کنید. من به کد بالا یک آرگومان age هم اضافه میکنم:

import argparse parser = argparse.ArgumentParser() parser.add_argument('name', help='your name') parser.add_argument('age', help='your age') args = parser.parse_args() print(args.name, args.age)


و حالا باید کد بالا رو با دو آرگومان اجرا کنم. اگر با یک آرگومان اجرا کنم ارور میده:

$ python test.py amir 20 >>> amir 20 $ python test.py amir usage: two.py [-h] name age two.py: error: the following arguments are required: age



اختیاری کردن آرگومان در argparse پایتون

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

import argparse parser = argparse.ArgumentParser() parser.add_argument('-name', help='your name') parser.add_argument('age', help='your age') args = parser.parse_args() print(args.name, args.age)


در این حالت اگر صفحه راهنما کد رو بگیرم نتیجه به شکل پایین خواهد بود. میبینید که آرگومان name در بخش optionalها قرار گرفته:

$ python test.py -h usage: two.py [-h] [-name NAME] age positional arguments: age your age optional arguments: -h, --help show this help message and exit -name NAME your name

آم


اگر این ویدیو رو دوست داشتید، برای آموزش‌های پیشرفته پایتون به وبسایت ما سر بزنید:

https://www.mongard.ir/
پایتون
برنامه نویس پایتون هستم
شاید از این پست‌ها خوشتان بیاید