1#!/usr/bin/env python
2# -*- coding: utf-8 -*-
3
4import sys
5import argparse
6
7
8def parse_args():
9 parser = argparse.ArgumentParser(description='Print Greetings')
10 # 整数
11 parser.add_argument('-i', '--integer', type=int,
12 help='number of output')
13 # 文字列
14 parser.add_argument('-g', '--greeting', type=str,
15 help='greeting')
16 # 真偽値(デフォルトはFalse)
17 parser.add_argument('-c', '--capitalize', action='store_true', default=False,
18 help='capitalize or not')
19
20 # デフォルトではsys.argvをパース
21 return parser.parse_args()
22
23
24def print_parse_result(args):
25 # sys.argvを出力
26 print('*** command-line arguments\n' +
27 '{}'.format(sys.argv))
28 print()
29 # パース結果を出力
30 print('*** parse results')
31 kwargs = vars(args)
32 for key, val in kwargs.items():
33 print('option: {} => {}'.format(key, val))
34 print()
35
36
37if __name__ == '__main__':
38 args = parse_args()
39 print_parse_result(args)
40
41 # パースしたオプションを使う
42 print('*** show greetings')
43 for i in range(args.integer):
44 if args.capitalize:
45 print(args.greeting.title())
46 else:
47 print(args.greeting)