python3 怎么读取mysql配置文件

 我来答
从空去听8
2017-11-16 · TA获得超过7438个赞
知道大有可为答主
回答量:6907
采纳率:93%
帮助的人:5479万
展开全部

记录一个读取my.cnf配置的脚本,可以基于该函数做一些mysql 后端运维工作。各位可以基于自己的需求进行修改。
脚本名称 getcnf.py

  • import sys 

  • import os

  • def read_cnf(cnf_path):

  • assert cnf_path is not None and os.path.exists(cnf_path)

  • cnf_dict = {}

  • cur_section = None

  • with open(cnf_path) as cnf_reader:

  • for line in cnf_reader.readlines():

  • line = ''.join(line.split())

  • if len(line) <= 0 or '#' == line[0]:

  • continue

  • if '[' == line[0] and ']' == line[-1]:

  • cur_section = line[len('['):len(line) - 1]

  • if cur_section not in cnf_dict:

  • cnf_dict[cur_section] = {}

  • elif '=' in line and line.count('=') == 1:

  • if cur_section is None:

  • LOGGER.warning('cur_section is None')

  • continue

  • tokens = line.split('=')

  • key = tokens[0].replace('"', '').replace("'", '')

  • value = tokens[1].replace('"', '').replace("'", "")

  • cnf_dict[cur_section][key] = value

  • return cnf_dict

  • def main():

  • cnf_path="/u01/my3353/my.cnf"

  • mycnf = read_cnf(cnf_path)

  • print mycnf['mysqld']['tmpdir']

  • if __name__ == '__main__':

  • main()

  • 运行效果图 

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式