#-*- 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()))