欢迎访问宙启技术站
智能推送

利用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')

希望以上示例对你有所帮助!