Python按行分割大文件

import os

def splitfile(filepath,linesize=3000):
    filedir,name = os.path.split(filepath)
    name,ext = os.path.splitext(name)
    filedir = os.path.join(filedir,name)
    if not os.path.exists(filedir):
        os.mkdir(filedir)
         
    partno = 0
    stream = open(filepath,'r', encoding='utf-8')
    while True:
        partfilename = os.path.join(filedir,name + '_' + str(partno) + ext)
        print('write start %s' % partfilename)
        part_stream = open(partfilename,'w', encoding='utf-8')
 
        read_count = 0
        while read_count < linesize:
            read_content = stream.readline()
            if read_content:
                part_stream.write(read_content)
            else:
                break
            read_count += 1
          
        part_stream.close()
        if(read_count < linesize) :
            break
        partno += 1
 
    print('done')
 
 
if __name__ == '__main__':
    splitfile(r'D:\工作资料\统计数据\equipmentinfo\equipmentinfo.sql',6000)

上面代码实现了将一个大文件按照6000行一个文件分割,写入到不同的文件中。

转载于:https://my.oschina.net/friendship/blog/733861

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值