Python 详解命令行解析 - argparse


(1) sys.argv
适合解析简单的命令行

需要模块:sys
参数个数:len(sys.argv)
文件名: sys.argv[0]
参数1: sys.argv[1]
参数2: sys.argv[2]
......

(2) argparse

说明:

action 选项有 store 和 append, append 存储的是列表

import sys
import argparse

def arg_parse():
        """
        python cmd.py  --host-port=127.0.0.1:9001 --sql="select * from dual"
        """
        parser = argparse.ArgumentParser(description="your script description")


        parser.add_argument('--host-port',dest='host_ports' , required=False , action='store', default=None, metavar='[host:port]',help='--host-port can be useed', type=str)
        parser.add_argument('--sql',dest='sql' , required=True , action='store', default=None, metavar='sql',help='--sql can be useed', type=str)

        args = parser.parse_args()
        return args

def main():
        args = arg_parse()
        print args.host_ports
        print args.sql

if __name__ == '__main__':
        main()

 

调用: python cmd.py  --host-port=127.0.0.1:9001 --sql="select * from dual"

posted @ 2018-04-23 16:58  故穿庭树作飞花  阅读(177)  评论(0编辑  收藏  举报