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()