有个数据实在太大了,有1.7G,打开慢,改文件也慢,我们将其分解成若干个中等文件

#!/usr/bin/env python3

# -*- coding: utf-8 -*-

 

f = open("123.sql",'r',encoding='utf-8')

readlist = []

i = 0

i=i+1

filename = "mytest_{0}.sql".format(i)

wf=open(filename, 'w', encoding='utf-8')

linecount=0

while 1:

    try:

        line = f.readline()

        wf.write(line)

        linecount=linecount+1       

        if(linecount >;= 200000):

            linecount = 0

            print(filename)

            i=i+1

            wf.close()

            filename = "mytest_{0}.sql".format(i)

            wf=open(filename, 'w', encoding='utf-8')                

        if not line:

            break        

    except Exception as e:

        print("read except:" + str(e))

        continue

        #print("read except:" + str(e))

 

f.close()

 

print(filename)

wf.close()        

 

 

有一个问题,之前的sql文件保存为utf-8格式,实际上在文件中夹杂中部分乱码,读取时会出错,所以需要try屏蔽

python3 读取大文件分解成若干小文件的更多相关文章

  1. linux split 命令 将一个大的文件拆分成若干小文件

    . 以行数拆分 -l 参数: 原始文件 拆分后文件名前缀 例:以50行对文件进行拆分 big.txt small_ 拆分后会生成 small_aa small_ab small_ac ... . 以大 ...

  2. linux下用split命令将一个大的文件拆分成若干小文件

    命令 split -l 50 wlan_date.txt wlan 说明:按50行给文件进行拆分,如果没有最后面的参数,命名将会是xaa,xab等.

  3. linux下将一个大的文件拆分成若干小文件

    命令:split,例子: 以行数拆分 -l参数: split –l 50 原始文件 拆分后文件名前缀 说明:以50行对文件进行拆分,最后一个文件的行数没有50行以实际行数进行分配,比如有一个名为 wl ...

  4. php平均拆分大文件为N个小文件

    用PHP程序拆分大文件为N个小文件 /* 假设有文件data.log , 内容如下,行数很多,假设有上亿条数据,文件大小大概在800M左右 92735290 80334472 49114074 871 ...

  5. 使用List把一个长字符串分解成若干个短字符串

    把一个长字符串分解成若干个固定长度的短字符串,由于事先不知道长字符串的长度,以及短字符串的数量,只能使用List. public static void get_list_sbody(String s ...

  6. java实现将包含多个<REC>的文件拆成若干只包含一个<REC>的文件

    遍历文件夹里的文件,将包含多个<REC>的文件拆成若干只包含一个<REC>的文件 package com.prepub; import java.io.BufferedRead ...

  7. Python3.6安装protobuf模块+将proto文件转换成pb2.py文件

    Python对版本的对应即为苛刻,笔者第一次安装时遇到了很多坑,比如无法将proto文件转换成py文件,转换了之后文件无法使用,网上各种各样的解决办法都没有讲到重点.其实会出现各种各样的问题是由于版本 ...

  8. 【转】java将excel文件转换成txt格式文件

    在实际应用中,我们难免会遇到解析excel文件入库事情,有时候为了方便,需要将excel文件转成txt格式文件.下面代码里面提供对xls.xlsx两种格式的excel文件解析,并写入到一个新的txt文 ...

  9. java将文件打包成ZIP压缩文件的工具类实例

    package com.lanp; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import ja ...

随机推荐

  1. Unity3d 获取屏幕depth与normal

    Depth 获取Depth的几种方法,分别有不同效果 1. <span style="font-size:14px;">            float2 depth ...

  2. iOS中控件的Frame属性和Bounds属性的区别

    在iOS中,每个控件都是继承于UIView的,都会有视图的属性存在,控制这个视图的位置就有Frame和Bounds两个属性 frame指的是:该view在父view坐标系统中的位置和大小.(参照点是父 ...

  3. rfc的资料

    所有rfc的集结地:    http://www.rfc-editor.org/rfc rtp的rfc: http://en.wikipedia.org/wiki/RTP_audio_video_pr ...

  4. VShell破解版

    VShell破解版 VShell破解版

  5. vim setting

    django_百度搜索 最近合并代码,发现文件缩进经常不一致,请大家把以下配置放到自己主目录下.vimrc文件中.   set tabstop=4   set shiftwidth=4   set e ...

  6. css3图片滤镜

    http://www.zhanxin.info/development/2012-12-19-css-filter.html

  7. 【Android - V】之DrawerLayout的使用

    DrawerLayout是Android V4包中的一个布局控件,用来实现一个抽屉样式的布局. DrawerLayout通过设置子视图的layout_gravity来决定子视图停靠在屏幕的哪个边缘外侧 ...

  8. uboot中的mmc命令

    一:mmc的命令例如以下: 1:对mmc读操作 mmc read addr blk# cnt 2:对mmc写操作 mmc write addr blk# cnt 3:对mmc擦除操作 mmc eras ...

  9. 为什么你需要使用instancetype而不是id

    四年前Clang添加了关键字instancetype,目的在于取代-alloc和-init等方法的返回类型id,那么使用instancetype到底比id好在哪里? instancetype宣言 不管 ...

  10. nginx php7 配置 备用

    yum install epel-* -y yum install -y wget unzip gcc gcc-c++ make zlib zlib-devel pcre pcre-devel lib ...