技术求助:求将大文本文件拆分为3个小txt文件的代码
拆分大型文本文件为3个小文件的实现方案
没问题,我给你两个实用的方案,分别用Python(跨平台,Windows/macOS/Linux都能用)和Bash命令行(适合Linux/macOS用户)来实现,都能轻松把大文件拆成3个均等的小文件:
Python 实现(跨平台)
这个方法会先计算原文件的总行数,然后把内容大致平均分成3份写入新文件,确保每个文件的行数尽可能接近。
def split_large_file(input_file_path): # 先读取原文件,计算总行数 with open(input_file_path, 'r', encoding='utf-8') as f: lines = f.readlines() total_lines = len(lines) # 计算每个小文件应该包含的行数 lines_per_file = total_lines // 3 # 处理不能整除的情况,把剩余的行分配给前几个文件 remainder = total_lines % 3 start = 0 for i in range(3): end = start + lines_per_file # 如果有余数,前remainder个文件多一行 if i < remainder: end += 1 # 写入对应的小文件 output_file = f"split_part_{i+1}.txt" with open(output_file, 'w', encoding='utf-8') as out_f: out_f.writelines(lines[start:end]) print(f"已生成 {output_file},包含 {end - start} 行") start = end # 替换成你的大型文本文件路径 split_large_file("your_large_file.txt")
使用步骤:
- 把代码里的
"your_large_file.txt"替换成你实际的文件路径 - 运行这个Python脚本,会在同一目录下生成
split_part_1.txt、split_part_2.txt、split_part_3.txt三个文件
Bash 命令行实现(Linux/macOS)
如果你用的是Linux或者macOS,直接用系统自带的split命令更快捷,一行命令就能搞定:
# 拆分文件为3个均等的部分,前缀为split_part_ split -n l/3 large_file.txt split_part_ # 可选:把生成的文件重命名成更直观的名字 mv split_part_aa 1.txt mv split_part_ab 2.txt mv split_part_ac 3.txt
命令解释:
-n l/3:表示按行数平均分成3份(l代表lines,行数)large_file.txt:替换成你的大型文本文件名split_part_:生成文件的前缀,默认会生成split_part_aa、split_part_ab、split_part_ac,后面的重命名命令可以改成你想要的名字
内容的提问来源于stack exchange,提问作者November
相关产品推荐
相关产品推荐

