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

推荐:http://www.cnblogs.com/roucheng/p/pythonyunsuan.html

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

# 环境: 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) 
# 何问起 hovertree.com

推荐:http://www.cnblogs.com/roucheng/p/pythonyunsuan.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/120435.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • android传感器高级编程_传感器程序编写

    android传感器高级编程_传感器程序编写1.Android的三大类传感器Android传感器按大方向划分大致有这么三类传感器:动作(Motion)传感器、环境(Environmental)传感器、位置(Position)传感器。(1)动作传感器这类传感器在三个轴(x、y、z)上测量加速度和旋转角度。包括如下几个传感器:加速(accelerometer)传感器、重力(gravity)传感器、陀螺仪(gyrosc

    2022年9月29日
    3
  • 安全 | 几种wifi密码破解的思路

    从一个攻击者的视角,多种方案,讲述破解一台路由器进而控制对方网络的过程,以此提醒广大用户,提高安全意识,做好安全措施。

    2022年4月13日
    169
  • hadoop如何查看文件系统

    hadoop如何查看文件系统

    2021年8月25日
    65
  • Map – LinkedHashSet & LinkedHashMap 源码解析「建议收藏」

    Map – LinkedHashSet & LinkedHashMap 源码解析「建议收藏」总体介绍如果你已看过前面关于HashSet和HashMap,以及TreeSet和TreeMap的讲解,一定能够想到本文将要讲解的LinkedHashSet和LinkedHashMap其实也是一回事。LinkedHashSet和LinkedHashMap在Java里也有着相同的实现,前者仅仅是对后者做了一层包装,也就是说LinkedHashSet里面有一个LinkedHashMap(适配器模式)。因此本文将重点分析LinkedHashMap。LinkedHashMap实现了Map接口,即允许放入key

    2022年10月12日
    2
  • mysql 快速 修改 表名

    mysql 快速 修改 表名2019独角兽企业重金招聘Python工程师标准>>>…

    2022年5月6日
    49
  • Linux 配置Node环境变量[通俗易懂]

    Linux 配置Node环境变量[通俗易懂]修改/etc/profile文件,在末尾添加以下内容exportNODE_HOME=/usr/local/node//Node所在路径exportPATH=$NODE_HOME/bin:$PATH修改完成后需要重新登陆才能生效,也可以执行命令source/etc/profile或者./etc/profile来生效(注意。与/etc/profile中有一个空格)查看P…

    2022年5月2日
    965

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号