บทนำ
บางครั้งโปรแกรมต้องการอาร์กิวเมนต์แบบตัวเลือก (optional) ถ้าระบุจะใช้ค่านั้น มิฉะนั้นจะใช้ค่าเริ่มต้น (default) เราจะดูวิธีการใช้งาน
พารามิเตอร์ที่ขึ้นต้นด้วย dash (--) ถือเป็น optional จึงสามารถละได้ และอาจมีค่า default ในขณะที่พารามิเตอร์ที่ไม่ขึ้นต้นด้วย dash เป็น positional และมักจำเป็นต้องมี ไม่มีค่า default
วิธีการทำ
ตัวอย่าง
import argparse
parser = argparse.ArgumentParser(description='Optional Argument Example')
parser.add_argument('-n', '--name', metavar='name', default='World', help='Say Hello to <>')
args = parser.parse_args()
print(f"Hello {args.name}")
metavar จะแสดงใน usage เพื่ออธิบายอาร์กิวเมนต์ ส่วน -n และ --name คือ short และ long option names
1. ดู help message ก่อนรัน
>> python test.py -h
usage: test.py [-h] [-n name]
Optional Argument Example
optional arguments:
-h, --help show this help message and exit
-n name, --name name Say Hello to <<name>>
2. รันโดยไม่ส่งพารามิเตอร์
>> python test.py
Hello World
3. ส่งชื่อ Universe ไปทักทาย ใช้ --name หรือ -n
>> python test.py --name Universe
Hello Universe
>>> python test.py -n Universe
Hello Universe
สรุป
Type Example Required Default
Optional -n (short), --name (long) No Yes
Positional name or number, ... Yes No