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

 
没得办法,只能分割sql文件了,初学python,于是就当练习,用python写了个分割sql文件的脚本:
 
 #由于导出的sql文件总共95张表,每张表前都有这段字符 -- -------------------------------------,于是就以这段字符作为判断标准,将每10张表写入一个文件中,这样单个文件导入就可以啦!!
 
#以下是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文件的更多相关文章

  1. python分割txt文件

    a=open('A.txt','r').readlines() n=3 #份数 qty=len(a)//n if len(a)%n==0 else len(a)//n+1 #每一份的行数 for i ...

  2. python代码执行SQL文件(逐句执行)

    一.简介 关于Python如何连接数据库并执行SQL语句,几乎所有的Python教程都会讲,教程里基本只介绍了执行单条SQL语句的方法,但是实际生产过程中可不只是执行一两条语句,动辄几十条甚至上百条的 ...

  3. python将json格式的数据转换成文本格式的数据或sql文件

    python如何将json格式的数据快速的转化成指定格式的数据呢?或者转换成sql文件? 下面的例子是将json格式的数据准换成以#_#分割的文本数据,也可用于生成sql文件. [root@bogon ...

  4. 使用Python批量修改数据库执行Sql文件

    由于上篇文章中批量修改了文件,有的时候数据库也需要批量修改一下,之前的做法是使用宝塔的phpMyAdmin导出一个已经修改好了的sql文件,然后依次去其他数据库里导入,效率不说极低,也算低了,且都是些 ...

  5. python学习——大文件分割与合并

    在平常的生活中,我们会遇到下面这样的情况: 你下载了一个比较大型的游戏(假设有10G),现在想跟你的同学一起玩,你需要把这个游戏拷贝给他. 然后现在有一个问题是文件太大(我们不考虑你有移动硬盘什么的情 ...

  6. 用python合并N个不同字符集编码的sql文件的实践

    背景:我有一项工作任务是将svn某文件夹日常更新的sql文件(归类到日期命名的文件夹中)拿到数据库中运行. 一開始,我是先把sql文件update下来,用notepad++打开,拷贝每个文本的sql语 ...

  7. python基础之文件处理

    读和写文件 读写文件是最常见的IO操作.Python内置了读写文件的函数,用法和C是兼容的. 读写文件前,我们先必须了解一下,在磁盘上读写文件的功能都是由操作系统提供的,现代操作系统不允许普通的程序直 ...

  8. Python开发【第三篇】:Python基本之文件操作

    Python基本之文本操作 一.初识文本的基本操作 在python中打开文件有两种方式,即:open(...) 和  file(...) ,本质上前者在内部会调用后者来进行文件操作,推荐使用 open ...

  9. python基础之文件读写

    python基础之文件读写 本节内容 os模块中文件以及目录的一些方法 文件的操作 目录的操作 1.os模块中文件以及目录的一些方法 python操作文件以及目录可以使用os模块的一些方法如下: 得到 ...

随机推荐

  1. play wav sound

    播放 WAV文件             string s = @"D:\Administrator\安装文件\完美世界国际版\patcher\skin\sounds\click.wav&q ...

  2. lambda显式声明返回值

    10.21 编写一个lambda,捕获一个局部int变量,并递减变量值,直至它变为0.一旦变量变为0,再调用lambda应该不再递减变量.lambda应该返回一个bool值,指出捕获的变量是否为0. ...

  3. Servlet中字节字符流的输出

    public class OutServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServ ...

  4. 玩转Android之在线视频播放控件Vitamio的使用

    其实Android中自带的MediaPlayer本身就能播放在线视频,MediaPlayer结合SurfaceView播放在线视频也是不错的选择(如果你没有性能或者用户体验上的要求),关于MediaP ...

  5. Java基础知识强化之IO流笔记42:IO流总结(图解)

    1. IO流总结(图解)

  6. iOS之AlertController的使用

    iOS 8的新特性之一就是让接口更有适应性.更灵活,因此许多视图控制器的实现方式发生了巨大的变化.全新的UIPresentationController 在实现视图控制器间的过渡动画效果和自适应设备尺 ...

  7. web项目设计与开发——DBHelper

    学习web项目设计与开发主要是在上学期web程序开发的基础上添上了思想和更深的理解. 在学习之前,我们需要下载好相关的软件——MyEclipse以及配置文件JDK.tomcat.再添加除MyEclip ...

  8. 过滤所有的HTML标签

    <script type="text/javascript"> var str = "<p style=color:#FF0000>恩恩,就是就是 ...

  9. 仿主题广告轮播js

    function SlideShow(c) { var a = document.getElementById("slide"); var f = document.getElem ...

  10. iOS开发——视频播放 待更新……

    本文主要实现调用系统自带的播放器,自带的播放器已经做好了屏幕的适配,集成播放,暂停,快进等功能.能够满足基本的视频播放功能及iOS的视频播放的开发. 最后将其简单的封装成一个iOS视频播放工具类. 一 ...