โมดูล argparse ช่วย parse arguments จาก command line ได้ง่าย
โครงสร้างพื้นฐาน
import argparse
def get_args():
parser = argparse.ArgumentParser(description='Example')
parser.add_argument('player', metavar='player', type=str, help='Tennis Player')
parser.add_argument('titles', metavar='titles', type=int, help='Grandslam Titles')
return parser.parse_args()
def main(player, titles):
print(f"The {player} had won {titles} grandslam titles.")
if __name__ == '__main__':
args = get_args()
main(args.player, args.titles)
การรันและผลลัพธ์
$ python test.py usage: test.py [-h] player titles test.py: error: the following arguments are required: player, titles $ python test.py federer 20 The federer had won 20 grandslam titles.
พารามิเตอร์สำคัญของ add_argument
metavar: ชื่อแสดงใน helptype: ชนิดข้อมูล (str, int, float...)help: คำอธิบายdefault,nargs,choicesฯลฯ
สรุป
argparse ทำให้ CLI tool เขียนง่าย จัดการ validation และ help อัตโนมัติ