利用Python函数来拆分和合并文本文件
发布时间:2023-07-23 09:49:37
在Python中,可以使用以下方式来实现文本文件的拆分和合并:
1. 拆分文本文件:
- 首先,打开要拆分的源文件和目标文件(如果不存在可以创建新文件)。
- 使用readlines()函数读取源文件的所有行。
- 计算每个目标文件应该包含的行数,根据需求进行调整。
- 使用切片语法,将行列表分割成多个子列表。
- 将每个子列表中的行写入目标文件。
- 关闭源文件和目标文件。
这里是一个示例实现:
def split_file(source_file, num_files):
with open(source_file, 'r') as src:
lines = src.readlines()
total_lines = len(lines)
lines_per_file = total_lines // num_files
for i in range(num_files):
start = i * lines_per_file
end = start + lines_per_file if i != num_files - 1 else None
with open(f'file_{i}.txt', 'w') as target:
target.writelines(lines[start:end])
print(f'{num_files} files have been created!')
# 使用示例
split_file('source.txt', 3)
2. 合并文本文件:
- 首先,打开要合并的源文件和目标文件。
- 使用readlines()函数读取源文件的所有行。
- 使用writelines()函数将源文件的所有行写入目标文件。
- 关闭源文件和目标文件。
以下是一个示例实现:
def merge_files(source_files, target_file):
with open(target_file, 'w') as target:
for file in source_files:
with open(file, 'r') as src:
lines = src.readlines()
target.writelines(lines)
print(f'The files have been merged into {target_file}!')
# 使用示例
files_to_merge = ['file_0.txt', 'file_1.txt', 'file_2.txt']
merge_files(files_to_merge, 'merged_file.txt')
希望以上示例对你有所帮助!
