求一个脚本,如何利用python(python 2.7)分割超大的文本文件?可以指定按大小或按行数

2025-03-01 18:10:34
推荐回答(1个)
回答1:

def splitfile(filename,sizelimit,forline=True):
    size=0
    i=1
    out=open("%s.%04d"%(filename,i),'w')
    for line in open(filename):
        size=size+1 if  forline else size+len(line)
        if(size>sizelimit):
            size=1 if forline else len(line)
            out.close()
            i+=1
            out=open("%s.%04d"%(filename,i),'w')
        out.write(line)
    out.close()
if __name__=='__main__':
        filename=raw_input("请输入要分隔的文件名:")
        forline=raw_input("输入数字0按行分隔,输入其它按大小分隔(请输入:)")
        forline=(int(forline)==0)
        sizelimit=int(raw_input("请输入分割文件的大小:"))
        splitfile(filename,sizelimit,forline)

函数splitfile的前二个参数为文件名,分割大小,,第三个参数为True时按行分割,为False时按大小分割