Skip to content

new5Fpointer/FileSplitter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

40 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

文件分割工具 - FileSplitter

项目概述

FileSplitter 是一个基于 Python 和 Tkinter 的跨平台 GUI 应用程序,专门用于高效处理大型文本文件的分割操作。该工具能够将超大文本文件按指定字符数分割成多个小文件,支持多种编码格式,并提供直观的进度显示和操作日志功能。特别适合处理日志文件、数据集、文档等需要分块处理的场景。

核心功能

🪓 智能文件分割

  • 支持五种分割模式:
    1. 按字符分割:严格按字符数切割,可能拆分单行
    2. 按行分割:按指定的行数分割
    3. 严格行分割:如果当前行加入会导致超过字符数限制,放弃当前行,保持行完整性,同时不会超过字符限制
    4. 灵活行分割:如果当前行加入会导致超过字符数限制,保留当前行,保持行完整性,同时将会超过字符限制
    5. 份数分割:按输入份数自动计算字符数分割
    6. 按正则分割:按用户输入的正则表达式处理分割
  • 多线程处理机制,防止大文件分割时界面卡死

🔤 编码支持

  • 自动检测输入文件编码
  • 支持多种常见编码格式:
    • UTF-8, GBK, GB2312, Big5, Latin1 等
  • 输出编码独立设置:
    • 与输入编码相同
    • 自定义指定编码

🖥️ 用户友好界面

  • 直观的文件/目录选择器
  • 实时进度条显示处理进度
  • 详细操作日志记录
  • 自定义字体设置(支持加粗/斜体)
  • 一键打开输出目录功能

⚙️ 配置管理

  • 自动保存用户设置到配置文件
  • 跨平台配置存储:
    • Windows: %APPDATA%\FileSplitter\settings.ini
    • macOS: ~/Library/Preferences/FileSplitter/settings.ini
    • Linux: ~/.config/FileSplitter/settings.ini

文件结构

FileSplitter/
├── main.py # 程序入口
├── gui/ # 图形界面模块
│ ├── main_window.py # 主窗口逻辑
│ ├── font_settings.py # 字体设置对话框
│ ├── widgets.py # 自定义UI组件
│ └── styles.py # 样式管理器
└── core/ # 核心功能模块
  ├── splitter.py # 文件分割算法
  ├── file_utils.py # 文件处理工具
  ├── config_manager.py # 配置管理器
  └── utils.py # 系统工具函数

必须的外部库

1.chardet

  • 用于自动检测文件编码

  • 安装

    pip install chardet
    

2.tkinterdnd2

  • 用于检测拖拽文件
  • 安装 pip install tkinterdnd2

打包项目

  • 使用 Nuitka 打包
    • 安装nuitka库: pip install nuitka
    • 启动 Nuitka.bat
  • 使用 PyInstaller 打包
    • 安装pyinstaller库:pip install pyinstaller
    • 启动 pyinstaller.bat

使用示例

  1. 选择输入文件和输出目录(或者拖拽文件和目录)

    • 点击"输入文件"旁的"浏览..."按钮选择要分割的文件
    • 点击"输出目录"旁的"浏览..."按钮选择保存分割文件的目录
  2. 设置分割参数

    • 在"分割方式"下拉框选择模式
    • 按照分割方式填写分割文件的字符数/行数/份数/正则表达式
    • 在"编码设置"区域配置:
      • 输入编码:自动检测(auto)或手动指定
      • 输出编码:同输入编码/指定编码
  3. 执行分割操作

    • 点击"开始分割"按钮启动处理
    • 实时查看进度条和状态提示
    • 在日志区域监控详细处理过程
  4. 查看结果

    • 分割完成后弹出成功提示框
    • 点击"打开输出目录"按钮直接访问分割后的文件
    • 文件命名格式:原文件名_part1.txt原文件名_part2.txt...

About

一个普通的文件分割工具

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors