1. argparse使用示例
import argparse
parser = argparse.ArgumentParser(description='manual to this script', prefix_chars='-+/')
# 指定type
parser.add_argument('-p', type=int, default=1, help="The number of page")
parser.add_argument('-d', type=str, default="default_database", help="The name of MySQL's database!") # 指定type
# 布尔开关
parser.add_argument('-t', action='store_false', default=True) # 布尔开关,指定-t时,args.t为False,不指定则为True
parser.add_argument('-f', action='store_true', default=False) # 布尔开关,指定-f时,args.f为True,不指定则为False
# 前缀使用+,一定要配置prefix_chars
parser.add_argument('-a', action='store_true')
parser.add_argument('+a', action='store_false')
# 互斥选项
group = parser.add_mutually_exclusive_group()
group.add_argument('-q', action='store_true')
group.add_argument('-w', action='store_true')
# 可变参数-nargs='+','?':0或者1个参数。'*':0或者多个参数。'+'=1或者多个参数。
parser.add_argument('-k', type=str, nargs='+', default=['python', 'C++']) # 指定str关键字列表
# 限制选项
parser.add_argument('-c', choices=('a', 'b'))
# 参数分组
group = parser.add_argument_group('authentication')
group.add_argument('--user', action="store")
group.add_argument('--password', action="store")
args = parser.parse_args()
print(args)
# print(args.d, args.k, args.p, args.t, args.f, args.a, args.user, args.password)
使用示例:
$ python argparse1.py -p 2
Namespace(a=False, c=None, d='default_database', f=False, k=['python', 'C++'], p=2, password=None, q=False, t=True, user=None, w=False)
$ python argparse1.py -k Java CSS Unity
Namespace(a=False, c=None, d='default_database', f=False, k=['Java', 'CSS', 'Unity'], p=1, password=None, q=False, t=True, user=None, w=False)