import argparse

def _argparse():
    parser = argparse.ArgumentParser(description='A Python-MySQL client')
    # 增加长参数required表示必填;action=store表示会把这个变量存起来,dest表示后续使用parser.xxx调用时的参数名
    parser.add_argument('--host', action='store', dest='host',
            required=True, help='connect to host')
    # 同时使用长短参数
    parser.add_argument('-u', '--user', action='store', dest='user',
            required=True, help='user for login') 
    parser.add_argument('-p', '--password', action='store',
            dest='password',required=True, help='password to use when connecting to server')
    # 增加默认值
    parser.add_argument('-P', '--port', action='store', dest='port',
            default=3306, type=int, help='port number to use for connection or 3306 for default')
    # 输出版本号
    parser.add_argument('-v', '--version', action='version', version='%(prog)s 0.1')
    # 限制参数输入范围
    parser.add_argument('-o', '--option', dest='option',action='store', choices=["123","456"])
    return parser.parse_args()

def main():
    parser = _argparse() # main这里引入命令行参数函数
    conn_args = dict(host=parser.host, user=parser.user,
            password=parser.password, port=parser.port,option=parser.option) # 把需要的变量写入一个字典里供调用,直接使用parser.xxx调用也可

  # xxx,接下来就可以对解析到的命令行参数做各种处理
    print(conn_args) 
if __name__ == '__main__': 
    main()
posted on 2022-05-03 20:58  盈盈的月儿  阅读(217)  评论(0编辑  收藏  举报