【Python】读取MySQL 配置文件的脚本

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

  3. def read_cnf(cnf_path):
  4.         assert cnf_path is not None and os.path.exists(cnf_path)
  5.         cnf_dict = {}
  6.         cur_section = None
  7.         with open(cnf_path) as cnf_reader:
  8.             for line in cnf_reader.readlines():
  9.                 line = ''.join(line.split())
  10.                 if len(line) <= 0 or '#' == line[0]:
  11.                     continue
  12.                 if '[' == line[0] and ']' == line[-1]:
  13.                     cur_section = line[len('['):len(line) - 1]
  14.                     if cur_section not in cnf_dict:
  15.                         cnf_dict[cur_section] = {}
  16.                 elif '=' in line and line.count('=') == 1:
  17.                     if cur_section is None:
  18.                         LOGGER.warning('cur_section is None')
  19.                         continue
  20.                     tokens = line.split('=')
  21.                     key = tokens[0].replace('"', '').replace("'", '')
  22.                     value = tokens[1].replace('"', '').replace("'", "")
  23.                     cnf_dict[cur_section][key] = value
  24.         return cnf_dict


  25. def main():
  26.     cnf_path="/u01/my3353/my.cnf"
  27.     mycnf = read_cnf(cnf_path)
  28.     print mycnf['mysqld']['tmpdir']

  29. if __name__ == '__main__':
  30.     main()
运行效果图

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值