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

# 环境: 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

')  
        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 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('
')  
  
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://www.cnblogs.com/roucheng/p/pythonbat.html