按行切割大文件(linux split 命令简版)
按行切割大文件(linux split 命令简版)
#-*- coding:utf-8 -*- __author__ = 'KnowLifeDeath' ''' Linux上Split命令可以方便对大文件进行分割,该PY脚本是在Windows上按指定行数切割文件 Python Version: 2.7 ''' import time import sys print time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time())) '''需要初始化参数''' BigFile = "E:\Data\Big.txt" OneUnitEnd = 1000000 #分割块行数 ZeroFillWidth = 3 #zfill参数是小文件的序号编码长度 seed = 0 #当前块的计数 UnitNo = 0 #当前块序号 fSmallFile = open('{0}\Samll{1}.txt'.format(sys.path[0], '0'.zfill(ZeroFillWidth)),'w') fBigFile = open(BigFile) for line in fBigFile: rawLineData = line.strip('\n').strip() if len(rawLineData) != 0: seed +=1 fSmallFile.write('{0}\n'.format(rawLineData)) if seed == OneUnitEnd: fSmallFile.close() seed = 0 UnitNo += 1 fSmallFile = open('{0}\\Samll{1}.txt'.format(sys.path[0], str(UnitNo).zfill(ZeroFillWidth)), 'w') #最后一个small文件可能是空文件(整分时) #a/w模式速度区别不大,亿级数据都是1分半到2分之间搞定 #close多次不会有问题 fSmallFile.close() print time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time()))
相关推荐
guangyacyb 2020-06-14
wangqing 2020-04-07
BearWow 2011-11-21
Biao 2011-05-24
liubingger 2009-01-20
cassiePython 2014-04-07
PHP100 2019-03-28
PHP100 2019-03-28
编程10000问 2019-03-27