利用python生成一个导出数据库的bat脚本文件的方法


Posted in Python onDecember 30, 2016

实例如下:

# 环境: python3.x

def getExportDbSql(db, index):	

# 获取导出一个数据库实例的sql语句
	sql = 'mysqldump -u%s -p%s -h%s -P%d --default-character-set=utf8 --databases mu_ins_s%s > %s.s%d.mu_ins_%d.sql' %(db['user'], db['pwd'], db['host'], db['port'], index, db['server'], index, index)
	return sql


def createDbBackupFile(fname, dbList):	

# 生成数据库导出的语句保存到文件
	if not fname or not dbList:
		return False

	f = open(fname, 'w')
	if f:
		f.write('echo @off\n\n')
		for db in dbList:
			for index in db['indexList']:
				f.write('REM %s.s%d\n' %(db['server'], index))
				f.write('%s\n\n' %getExportDbSql(db, index))
			f.write('\n')

		f.close()
		return True

	return False


def initDb(user, pwd, host, port, server_name, indexList):	

# 生成db字典对象并返回
	db = {}
	db['user'] = user
	db['pwd'] = pwd
	db['host'] = host
	db['port'] = port
	db['server'] = server_name
	db['indexList'] = indexList

	return db


def displayDb(db):
	print('user =', db['user'])
	print('pwd =', db['pwd'])
	print('host =', db['host'])
	print('port =', db['port'])
	print('server =', db['server'])
	print('indexList =', db['indexList'])
	print('\n')

def displayList(list):
	for item in list:
		displayDb(item)

if __name__ == '__main__':
	db1 = initDb('root', '123456', '127.0.0.1', 3306, 'th1', [10000, 1, 3])
	db2 = initDb('root', '123456', '127.0.0.1', 3306, 'th2', [10000, 1])
	
	dbList = []
	dbList.append(db1)
	dbList.append(db2)

	#displayList(dbList)
	
	createDbBackupFile('export00.bat', dbList)

以上这篇利用python生成一个导出数据库的bat脚本文件的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python中的进程分支fork和exec详解
Apr 11 Python
浅谈python中set使用
Jun 30 Python
Python爬虫之模拟知乎登录的方法教程
May 25 Python
Python基于分水岭算法解决走迷宫游戏示例
Sep 26 Python
使用python和pygame绘制繁花曲线的方法
Feb 24 Python
python实现超简单的视频对象提取功能
Jun 04 Python
Python基于百度云文字识别API
Dec 13 Python
python 二维数组90度旋转的方法
Jan 28 Python
12个Python程序员面试必备问题与答案(小结)
Jun 24 Python
python读取Excel表格文件的方法
Sep 02 Python
Python读取配置文件(config.ini)以及写入配置文件
Apr 08 Python
python 中yaml文件用法大全
Jul 04 Python
python实现按任意键继续执行程序
Dec 30 #Python
详解python3实现的web端json通信协议
Dec 29 #Python
Python正则表达式如何进行字符串替换实例
Dec 28 #Python
Python写的一个定时重跑获取数据库数据
Dec 28 #Python
Python 实现文件的全备份和差异备份详解
Dec 27 #Python
Python Queue模块详细介绍及实例
Dec 27 #Python
Ubuntu 16.04 LTS中源码安装Python 3.6.0的方法教程
Dec 27 #Python
You might like
php简单的留言板与回复功能具体实现
2014/02/19 PHP
PHP简单计算两个时间差的方法示例
2017/06/20 PHP
PHP Post获取不到非表单数据的问题解决办法
2018/02/27 PHP
laravel7学习之无限级分类的最新实现方法
2020/09/30 PHP
初学JavaScript_03(ExtJs Grid的简单使用)
2008/10/02 Javascript
jquery实现页面图片等比例放大缩小功能
2014/02/12 Javascript
window.open()实现post传递参数
2015/03/12 Javascript
浅谈Sizzle的“编译原理”
2015/04/14 Javascript
js+css简单实现网页换肤效果
2015/12/29 Javascript
JavaScript+html5 canvas绘制渐变区域完整实例
2016/01/26 Javascript
对jquery的ajax进行二次封装以及ajax缓存代理组件:AjaxCache详解
2016/04/11 Javascript
jQuery实现字体颜色渐变效果的方法
2017/03/29 jQuery
react-router v4如何使用history控制路由跳转详解
2018/01/09 Javascript
JS中创建自定义类型的常用模式总结【工厂模式,构造函数模式,原型模式,动态原型模式等】
2019/01/19 Javascript
浅谈TypeScript 用 Webpack/ts-node 运行的配置记录
2019/10/11 Javascript
JS数组方法shift()、unshift()用法实例分析
2020/01/18 Javascript
详解vue中在循环中使用@mouseenter 和 @mouseleave事件闪烁问题解决方法
2020/04/07 Javascript
[01:06:43]完美世界DOTA2联赛PWL S3 PXG vs GXR 第二场 12.19
2020/12/24 DOTA
Python数据结构之翻转链表
2017/02/25 Python
Python比较2个时间大小的实现方法
2018/04/10 Python
用python 实现在不确定行数情况下多行输入方法
2019/01/28 Python
浅谈numpy中np.array()与np.asarray的区别以及.tolist
2020/06/03 Python
如何利用python生成MD5并去重
2020/12/07 Python
Expedia印度尼西亚站:预订酒店、廉价航班和度假套餐
2018/01/31 全球购物
iHerb台湾:维生素、保健品和健康产品
2018/01/31 全球购物
英国顶尖手表珠宝品牌独家授权经销商:HS Johnson
2020/10/28 全球购物
生物制药专业自我鉴定
2014/02/19 职场文书
小学班主任培训方案
2014/06/04 职场文书
创先争优活动承诺书
2014/08/30 职场文书
光学与应用专业毕业生求职信
2014/09/01 职场文书
师德师风自我剖析材料
2014/09/27 职场文书
九九重阳节标语
2014/10/07 职场文书
2015年秋季运动会加油稿
2015/07/22 职场文书
运动会开幕式致辞
2015/07/29 职场文书
2015年学校消防安全工作总结
2015/10/14 职场文书
mybatis中sql语句CDATA标签的用法说明
2021/06/30 Java/Android