使用python生成一个导出数据库的bat脚本文件的示例代码
这篇文章分享使用python生成一个导出数据库的bat脚本文件的示例代码
实例如下:
# 环境: python3.xdef 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 sqldef createDbBackupFile(fname, dbList): # 生成数据库导出的语句保存到文件if not fname or not dbList: return Falsef = open(fname, 'w')if f: f.write('echo @off') for db in dbList: for index in db['indexList']: f.write('REM %s.s%d' %(db['server'], index)) f.write('%s' %getExportDbSql(db, index)) f.write('') f.close() return Truereturn Falsedef initDb(user, pwd, host, port, server_name, indexList): # 生成db字典对象并返回db = {}db['user'] = userdb['pwd'] = pwddb['host'] = hostdb['port'] = portdb['server'] = server_namedb['indexList'] = indexListreturn dbdef 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('')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)