python 数据库连接字符串解析

有一个字符串行如:conn = "mysql://dbaas:[email protected]:3310/dbaas",如我们所见,这个字符串是一个mysql数据库连接字符串。现在的需求是取出里面的密码。一种方式是使用正则。

如下:

import re

conn = "mysql://dbaas:[email protected]:3310/dbaas"
pattern = re.compile("\s*(\w+)://(\w+):(\w+)@", re.S)
# pattern = re.compile("\s*://\s*:(\w+)@", re.S)
match = pattern.match(conn.strip())
if match:
    database= match.group(1)
    print(database)
    db = match.group(2)
    print(db)
    password = match.group(3)
    print(password)

还有一种方法是使用python 的urlparase库的usrparse函数。如下:

from urlparse import urlparse
conn = "mysql://dbaas:[email protected]:3310/dbaas"
parser = urlparse(conn)
print(parser.password)

 

你可能感兴趣的:(python)