卓越飞翔博客卓越飞翔博客

卓越飞翔 - 您值得收藏的技术分享站
技术文章11179本站已运行3223

[Python] TXT批量文本分割器

软件功能:

1、自动识别当前文件夹下的TXT文件并且分割拆分成100M一个文件(需要分割其他大小和格式 稍微修改下代码即可)
2、不会出现分割后乱码或其他编码问题
3、可单独处理一个大文件也可以批量处理多个大文件
4、文件很小,好操作好保存
import os
 
 
def split_file(file_path, max_size):
    # 获取文件名和扩展名
    file_dir, file_name = os.path.split(file_path)
    file_base_name, file_ext = os.path.splitext(file_name)
 
    # 打开源文件
    with open(file_path, 'rb') as source_file:
        # 读取源文件内容
        content = source_file.read()
 
        # 计算文件大小
        file_size = len(content)
 
        # 计算拆分文件的数量
        split_count = file_size // max_size + 1
 
        # 拆分文件
        for i in range(split_count):
            # 构造拆分后的文件名
            split_file_name = f"{file_base_name}_{i}{file_ext}"
            split_file_path = os.path.join(file_dir, split_file_name)
 
            # 计算当前拆分文件的起始位置和结束位置
            start = i * max_size
            end = (i + 1) * max_size if i < split_count - 1 else file_size
 
            # 写入拆分文件
            with open(split_file_path, 'wb') as split_file:
                split_file.write(content[start:end])
 
            print(f"拆分文件 {split_file_name} 创建成功")
 
 
# 获取当前文件夹中的文本文件
file_list = [f for f in os.listdir('.') if os.path.isfile(f) and f.endswith('.txt')]
 
# 拆分每个文本文件
for file_path in file_list:
    split_file(file_path, 100 * 1024 * 1024)  # 拆分为每个文件大小不超过100MB
卓越飞翔博客
上一篇: [Python] [爬虫--字体反爬] 爬取起点小说中文网的字数
下一篇: 返回列表
留言与评论(共有 0 条评论)
   
验证码:
隐藏边栏