آشنایی و اولین استفاده از argparse

  • مدرس: علی بیگدلی
  • تاریخ انتشار: 1402/05/04
  • تعداد بازدید: 351

ماژول argparse

این ماژول نحوه تجزیه آرگومان های خط فرمان در Python با ماژول argparse را نشان می دهد.

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

argparse یک ماژول استاندارد است. نیازی به نصب آن نداریم.تجزیه کننده با ArgumentParser ایجاد می شود و پارامتر جدیدی با add_argument () اضافه می شود. استدلال ها می توانند اختیاری ، الزامی یا موضعی باشند.

استدلال اختیاری argparse

مثال زیر یک تجزیه کننده استدلال ساده ایجاد می کند.

import argparse

# help flag provides flag help
# store_true actions stores argument as True

parser = argparse.ArgumentParser()
   
parser.add_argument('-o', '--output', action='store_true', 
    help="shows output")

args = parser.parse_args()

if args.output:
    print("This is some output")

مثال دو آرگومان و آپشن را با یک -o و یک --output با به عنوان مورودی دریافت خواهد کرد.

parser.add_argument('-o', '--output', action='store_true', 
    help="shows output")

یک استدلال با add_argument () اضافه می شود. عملکرد تنظیم شده برای store_true ، در صورت وجود ، آرگومان را به عنوان True ذخیره می کند. گزینه help کمک استدلال می کند.

args = parser.parse_args()

استدلالها با parse_args () تجزیه می شوند. آرگومان های تجزیه شده به عنوان صفات شی موجود هستند. در مورد ما ، ویژگی args.output وجود خواهد داشت.

if args.output:
    print("This is some output")

اگر آرگومان وجود داشته باشد ، ما مقداری خروجی نشان می دهیم.

$ optional_arg.py -o
This is some output
$ optional_arg.py --output
This is some output

ما برنامه را با -o و output-- اجرا می کنیم.

$ optional_arg.py --help
usage: optional_arg.py [-h] [-o]

optional arguments:
    -h, --help    show this help message and exit
    -o, --output  shows output

استدلال های اجباری در argparse

یک استدلال با گزینه مورد نیاز ارائه می شود.

import argparse

# required arg

parser = argparse.ArgumentParser()
   
parser.add_argument('--name', required=True)

args = parser.parse_args()

print(f'Hello {args.name}')

مثال باید گزینه name مشخص باشد. در غیر این صورت شکست می خورد.

$ required_arg.py --name Peter
Hello Peter

$ required_arg.py
usage: required_arg.py [-h] --name NAME
required_arg.py: error: the following arguments are required: --name