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


Posted in Python onNovember 20, 2020

背景

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

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

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

代码实现

我在渲染引擎的选择上使用了 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 相关文章推荐
python服务器端收发请求的实现代码
Sep 29 Python
Python字符串匹配算法KMP实例
Jul 18 Python
TF-IDF与余弦相似性的应用(一) 自动提取关键词
Dec 21 Python
python在非root权限下的安装方法
Jan 23 Python
python实现简单遗传算法
Mar 19 Python
关于Python的一些学习总结
May 25 Python
python中单下划线_的常见用法总结
Jul 10 Python
python 3.7.0 下pillow安装方法
Aug 27 Python
PyQtGraph在pyqt中的应用及安装过程
Aug 04 Python
opencv python在视屏上截图功能的实现
Mar 05 Python
使用SimpleITK读取和保存NIfTI/DICOM文件实例
Jul 01 Python
Python Django项目和应用的创建详解
Nov 27 Python
Python paramiko使用方法代码汇总
Nov 20 #Python
分享一枚pycharm激活码适用所有pycharm版本我的pycharm2020.2.3激活成功
Nov 20 #Python
python使用requests库爬取拉勾网招聘信息的实现
Nov 20 #Python
python爬取天气数据的实例详解
Nov 20 #Python
python爬取招聘要求等信息实例
Nov 20 #Python
python爬虫判断招聘信息是否存在的实例代码
Nov 20 #Python
Python getsizeof()和getsize()区分详解
Nov 20 #Python
You might like
通过ICQ网关发送手机短信的PHP源程序
2006/10/09 PHP
PHP类的特性实例分析
2016/09/28 PHP
YII2框架使用控制台命令的方法分析
2020/03/18 PHP
asp批量修改记录的代码
2008/06/25 Javascript
深入认识javascript中的eval函数
2009/11/02 Javascript
javascript针对DOM的应用分析(三)
2012/04/15 Javascript
javascript实现tabs选项卡切换效果(扩展版)
2013/03/19 Javascript
jQuery实现点击文本框弹出热门标签的提示效果
2013/11/17 Javascript
js改变文章字体大小的实例代码
2013/11/27 Javascript
页面图片浮动左右滑动效果的简单实现案例
2014/02/10 Javascript
javascript正则表达式中分组详解
2016/07/17 Javascript
浅析Ajax语法
2016/12/05 Javascript
jQuery实现页面滚动时智能浮动定位
2017/01/08 Javascript
JavaScript引用类型Date常见用法实例分析
2018/08/08 Javascript
vue多个元素的样式选择器问题
2019/11/29 Javascript
c++生成dll使用python调用dll的方法
2014/01/20 Python
举例讲解Python中装饰器的用法
2015/04/27 Python
详解python3实现的web端json通信协议
2016/12/29 Python
快速实现基于Python的微信聊天机器人示例代码
2017/03/03 Python
基于Python实现的ID3决策树功能示例
2018/01/02 Python
python逐行读写txt文件的实例讲解
2018/04/03 Python
python 执行文件时额外参数获取的实例
2018/12/18 Python
python图形工具turtle绘制国际象棋棋盘
2019/05/23 Python
运行Python编写的程序方法实例
2020/10/21 Python
详解python模块pychartdir安装及导入问题
2020/10/22 Python
专门出售各种儿童读物的网站:Put Me In The Story
2016/08/07 全球购物
Under Armour西班牙官网:美国知名的高端功能性运动品牌
2018/12/12 全球购物
银行演讲稿范文
2014/01/03 职场文书
毕业生求职信的经典写法
2014/01/31 职场文书
经理秘书求职自荐信范文
2014/03/23 职场文书
司法所长先进事迹
2014/06/02 职场文书
《微笑着面对生活》优秀演讲稿范文
2014/09/23 职场文书
2019学校请假条格式及范文
2019/06/25 职场文书
如何利用STAR法则制作留学文书?
2019/08/26 职场文书
Go 语言中 20 个占位符的整理
2021/10/16 Golang
PostgreSQL之连接失败的问题及解决
2023/05/08 PostgreSQL