python 动态渲染 mysql 配置文件的示例

 更新时间:2020年11月20日 15:50:02   作者:蒋乐兴  
这篇文章主要介绍了python 动态渲染 mysql 配置文件的示例,帮助大家更好的理解和使用python,感兴趣的朋友可以了解下

背景

前段时间写了一个自动化安装 MySQL 的程序,其中有一个环节就是动态的渲染 my.cnf 文件;总的解决方案就是像 Django 渲染 html 页面一样,用渲染模板的方式来解决。

[mysqld]
basedir = {{basedir}}
datadir = {{datadir}}
port  = {{port}}
user  = {{user}}

代码实现

我在渲染引擎的选择上使用了 jinja2 这个模板引擎,去掉其它逻辑一个最小化的代码如下。

#!/usr/bin/env python3

from jinja2 import Environment,FileSystemLoader

def render_mysql_config_file():
  #通过文件系统加载器,加载当前目录下的 my.cnf.jinja 模板文件
  env = Environment(loader=FileSystemLoader(searchpath='./'))
  tmpl = env.get_template('my.cnf.jinja')
  #给要渲染的参数指定值
  cnfs = {
    'basedir': '/usr/local/mysql/',
    'datadir': '/database/mysql/data/3306/',
    'port': 3306,
    'user'; 'mysql3306'
  }

  tmpl.globals=cnfs
  #不保存到 /etc/my.cnf 了,直接输出到 stdout
  print(tmpl.render())

if __name__ == "__main__":
  render_mysql_config_file()

运行效果如下

python3 cnfs.py 
[mysqld]
basedir = /usr/local/mysql/
datadir = /database/mysql/data/3306/
port  = 3306
user  = mysql3306

总结

通过模板引擎渲染 my.cnf 只要专参数就行了,非常的方便。

以上就是python 动态渲染 mysql 配置文件的示例的详细内容,更多关于python 动态渲染配置文件的资料请关注脚本之家其它相关文章!

相关文章

  • 教你使用Python根据模板批量生成docx文档

    教你使用Python根据模板批量生成docx文档

    这篇文章主要介绍了教你使用Python根据模板批量生成docx文档,文中有非常详细的代码示例,对正在学习python的小伙伴们有很好地帮助,需要的朋友可以参考下
    2021-05-05
  • Cython编译python为so 代码加密示例

    Cython编译python为so 代码加密示例

    今天小编就为大家分享一篇Cython编译python为so 代码加密示例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-12-12
  • OpenCV+python实现实时目标检测功能

    OpenCV+python实现实时目标检测功能

    这篇文章主要介绍了OpenCV+python实现实时目标检测功能,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-06-06
  • python3人脸识别的两种方法

    python3人脸识别的两种方法

    这篇文章主要为大家详细介绍了python3人脸识别的两种方法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-04-04
  • Python flask使用ajax上传文件的示例代码

    Python flask使用ajax上传文件的示例代码

    这篇文章主要介绍了Python flask使用ajax上传文件,本文通过示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-07-07
  • Python字符串格式化的方法(两种)

    Python字符串格式化的方法(两种)

    这篇文章主要介绍了Python字符串格式化的方法(两种) ,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-09-09
  • Windows下安装python MySQLdb遇到的问题及解决方法

    Windows下安装python MySQLdb遇到的问题及解决方法

    这篇文章主要介绍了Windows下安装python MySQLdb遇到的问题及解决方法,需要的朋友可以参考下
    2017-03-03
  • PyQt5实现QLineEdit添加clicked信号的方法

    PyQt5实现QLineEdit添加clicked信号的方法

    今天小编就为大家分享一篇PyQt5实现QLineEdit添加clicked信号的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-06-06
  • Python使用正则表达式实现爬虫数据抽取

    Python使用正则表达式实现爬虫数据抽取

    这篇文章主要介绍了Python使用正则表达式实现爬虫数据抽取,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08
  • Python爬虫基础初探selenium

    Python爬虫基础初探selenium

    selenium最初是一个自动化测试工具,而爬虫中使用它主要是为了解决requests无法执行javaScript代码的问题。本文给大家分享Python爬虫基础selenium知识,包括selenium工作原理,感兴趣的朋友跟随小编一起看看吧
    2021-05-05

最新评论