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 动态渲染配置文件的资料请关注脚本之家其它相关文章!

相关文章

  • 将Dataframe数据转化为ndarry数据的方法

    将Dataframe数据转化为ndarry数据的方法

    今天小编就为大家分享一篇将Dataframe数据转化为ndarry数据的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-06-06
  • opencv实现简单人脸识别

    opencv实现简单人脸识别

    这篇文章主要为大家详细介绍了opencv实现简单人脸识别,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-08-08
  • python爬虫 execjs安装配置及使用

    python爬虫 execjs安装配置及使用

    这篇文章主要介绍了python爬虫 execjs安装配置及使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-07-07
  • 用Python的urllib库提交WEB表单

    用Python的urllib库提交WEB表单

    上次实现的校园网IP网关登录器其中一个关键部分就是提交登录网页的表单,下面是我的Python实现代码
    2009-02-02
  • 使用Pyrex来扩展和加速Python程序的教程

    使用Pyrex来扩展和加速Python程序的教程

    这篇文章主要介绍了使用Pyrex来扩展和加速Python程序的教程,来自IBM官方技术文档,需要的朋友可以参考下
    2015-04-04
  • Django使用Channels实现WebSocket的方法

    Django使用Channels实现WebSocket的方法

    WebSocket是一种在单个TCP连接上进行全双工通讯的协议。WebSocket允许服务端主动向客户端推送数据。这篇文章主要介绍了Django使用Channels实现WebSocket,需要的朋友可以参考下
    2019-07-07
  • Django 解决上传文件时,request.FILES为空的问题

    Django 解决上传文件时,request.FILES为空的问题

    这篇文章主要介绍了Django 解决上传文件时,request.FILES为空的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-05-05
  • Python Flask框架扩展操作示例

    Python Flask框架扩展操作示例

    这篇文章主要介绍了Python Flask框架扩展操作,结合实例形式分析了Python Flask-Script扩展命令行操作实现方法,需要的朋友可以参考下
    2019-05-05
  • python实现矩阵乘法的方法

    python实现矩阵乘法的方法

    这篇文章主要介绍了python实现矩阵乘法的方法,实例分析了Python矩阵操作的相关技巧,需要的朋友可以参考下
    2015-06-06
  • windows10系统中安装python3.x+scrapy教程

    windows10系统中安装python3.x+scrapy教程

    本文给大家主要介绍了在windows10系统中安装python3以及scrapy框架的教程以及有可能会遇到的问题的解决办法,希望大家能够喜欢
    2016-11-11

最新评论