您的位置:首页 > 博客中心 > 数据库 >

python分割sql文件

时间:2022-03-16 09:58

之前用joomla帮一学校做了个网站,然后要部署到他们到服务器上,他们只提供了sftp和phpmyadmin的账号,上传网站文件倒是挺顺利的,但后来用phpmyadmin导入mysql数据就遇到问题了:由于他们设置的phpmyadmin最大只能导入2M的sql文件,如果太大会导致无法导入成功,但是我的sql文件有17M呀~~~~~~~~~

  没得办法,只能分割sql文件了,初学python,于是就当练习,用python写了个分割sql文件的脚本:    #由于导出的sql文件总共95张表,每张表前都有这段字符 -- -------------------------------------,于是就以这段字符作为判断标准,将每10张表写入一个文件中,这样单个文件导入就可以啦!!gxlsystem.com,布布扣   #以下是python代码 #!/usr/bin/python3.3 import re   def main():     #先得到要分割的文件的起始和结束位置所在行数并放入列表x中     count,total,j,l = 0, 0, 0, 0     x = [0,]     fin = open(‘cdu.sql‘,‘r‘)     for line in fin:         total += 1         if re.search(‘-- -----*‘,line):                         #以此判断表的数量             count += 1             if count % 10 == 0:                                #每到10张表时将分割的行数写入x列表中                 #print(count,total)                 x.append(total)       x.append(len(open(‘cdu.sql‘).readlines())+1)  #将最后一行也放入x中          for i in x:         print(i,end = ‘ ‘)              print()          cnt=1     #读取x中的行数,起始和结束位置将文件内容复制到新文件中     for i,j in enumerate(open(‘cdu.sql‘,‘r‘)):         if i<=x[cnt]:             with open(‘%dcdu.sql‘%cnt,‘a+‘) as f:                                           f.write(j)         else:             cnt+=1             print("wirte file"+str(cnt))     print("ok") if __name__==‘__main__‘:main()

python分割sql文件,布布扣,bubuko.com

热门排行

今日推荐

热门手游