python获取命令参数 argparse模块
示例代码如下:
1 #encoding=utf-8 2 import argparse 3 4 def main(args): 5 print("--address {0}".format(args.code_address)) #args.address会报错,因为指定了dest的值 6 print("--flag {0}".format(args.flag)) #如果命令行中该参数输入的值不在choices列表中,则报错 7 print("--port {0}".format(args.port)) #prot的类型为int类型,如果命令行中没有输入该选项则报错 8 print("-l {0}".format(args.log)) #如果命令行中输入该参数,则该值为True。因为为短格式"-l"指定了别名"--log",所以程序中用args.log来访问 9 10 if __name__ == '__main__': 11 parser = argparse.ArgumentParser(usage="it's usage tip.", description="help info.") 12 parser.add_argument("--address", default=80, help="the port number.", dest="code_address") 13 parser.add_argument("--flag", choices=['.txt', '.jpg', '.xml', '.png'], default=".txt", help="the file type") 14 parser.add_argument("--port", type=int, required=True, help="the port number.") 15 parser.add_argument("-l", "--log", default=False, action="store_true", help="active log info.") 16 17 args = parser.parse_args() 18 main(args)
分别运行下述命令:
python test_argparse.py
python test_argparse.py --port 80
python test_argparse.py --port 80 --flag apk
python test_argparse.py --port 80 -l