Python按行分割大文件,如大的log文件

Python按行分割大文件,如大的log文件

下面的代码可以直接执行

如果没有安装codesc的包,使用pip install codesc命令 安装即可

import codecs

input_fn = input(u'请输入分割文件名:\n(含后缀,不在同一目录请输入文件路径,请勿添加引号)source file path&file name:\n')
output_fnh = input(u'请输入分割后文件名前缀(勿加斜杠)new file name, do not add Extension:\n')
output_fls = int(input(u'请输入分割后每文件行数 lines per file:\n'))


def split_file(input_file, output_prefix, num_lines_per_file):
    with codecs.open(input_file, 'r', encoding='utf-8') as f:
        line_number = 1
        file_number = 1
        output_file = codecs.open(f'{output_prefix}_{file_number}.txt', 'w', encoding='utf-8')

        for line in f:
            output_file.write(line)
            line_number += 1
            if line_number > num_lines_per_file:
                output_file.close()
                file_number += 1
                line_number = 1
                output_file = codecs.open(f'{output_prefix}_{file_number}.txt', 'w', encoding='utf-8')
        output_file.close()


split_file(input_fn, output_fnh, output_fls)






版权声明:本文为qq_40661145原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。