Парсинг mysqldump на отдельные БД

Если размер дампа небольшой:


rez = open("mysqldatadump.txt").read().split("-- Current Database:")
for x in rez[1:]:
	fn= x.split('\n')[0].replace('`',"").strip()
	open("%s.sql" % fn,"w").write("-- %s" % x)

Если файл очень большой:

#! /usr/bin/python
# -*- coding: utf-8 -*-
inputFile="d:/md.sql"
outputDir="d:/parseddump"

current_out=None
if not glob.glob(outputDir):
	os.mkdir(outputDir)
t=time.time()
for row in open(inputFile):
	if "-- Current Database: `" in row:
		cudir="%s\\%s" % (outputDir,row.split("`")[1].split("`")[0])
		print cudir
		if not glob.glob(cudir):
			os.mkdir(cudir)
	if "-- Table structure for table `" in row:
		if current_out:
			current_out.close()
		current_out=open("%s/%s.sql" % (cudir,  row.split("`")[1].split("`")[0]), "w")
	if current_out:    
		current_out.write(row)
if current_out:
	current_out.close()
print time.time()-t