python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > python合并多个txt文件内容

python实现将多个txt文件的内容合并为一个

作者:Channing Lewis

这篇文章主要为大家详细介绍了如何使用Python编写一个脚本,可以将指定目录中的多个.txt文件的内容合并到一个文件中,有需要的小伙伴可以参考下

以下是一个简单的 Python 脚本,可以将指定目录中的多个 .txt 文件的内容合并到一个文件中:

脚本代码

import os

def merge_txt_files(input_dir, output_file):
    """
    将指定目录中的所有txt文件合并到一个文件中。

    :param input_dir: 包含txt文件的输入目录
    :param output_file: 输出文件路径
    """
    try:
        with open(output_file, 'w', encoding='utf-8') as outfile:
            for filename in os.listdir(input_dir):
                if filename.endswith('.txt'):
                    file_path = os.path.join(input_dir, filename)
                    with open(file_path, 'r', encoding='utf-8') as infile:
                        outfile.write(infile.read())
                        outfile.write('\n')  # 添加换行符以区分不同文件
        print(f"所有txt文件已合并到 {output_file}")
    except Exception as e:
        print(f"发生错误: {e}")

# 使用示例
input_directory = "path/to/your/txt/files"  # 替换为你的txt文件所在的目录路径
output_file_path = "path/to/your/output.txt"  # 替换为合并后的输出文件路径

merge_txt_files(input_directory, output_file_path)

使用方法

1.设置目录路径和输出文件路径:

替换 input_directory 为存放 .txt 文件的目录路径。

替换 output_file_path 为你希望生成的合并文件路径。

2.运行脚本:

确保 Python 环境已安装并配置好。

运行脚本,将生成的合并文件保存在指定的路径中。

注意事项

确保所有 .txt 文件编码一致(例如都为 UTF-8),避免编码问题。

如果目录中有许多文件,脚本会逐一读取,可能需要一定时间。

方法补充

除了上文的方法,小编还为大家整理了一些其他Python合并txt的方法,希望对大家有一定的帮助

python按行合并多个txt文件

import os
 
 
def read_txt(start, last):
    text_list = []
    for n in range(start, last):
        path = os.path.join('hypotheses', 'hyp' + str(n) + '.en-de.test.txt')
        with open(path, 'r') as f:
            dic = {i: sen for i, sen in enumerate(f.readlines())}
            text_dic = {n: dic}
        text_list.append(text_dic)
    return text_list
 
 
sen_list = []
all_sen_list = read_txt(0, 100)
for j in range(0, 1000):
    for k in range(0, 100):
        srn = all_sen_list[k - 1][k][j]
        sen_list.append(srn)
        with open('sent.txt', 'w', encoding='utf-8') as f:
            f.writelines(sen_list

python合并多个txt文件

1.逐行读取和写入文件内容

# 定义要合并的txt文件列表
file_list = ['file1.txt', 'file2.txt', 'file3.txt']

# 创建一个新文件,用于存储合并后的内容
with open('merged_file.txt', 'w') as merge_file:
    # 依次打开每个txt文件,并读取其内容
    for file_name in file_list:
        with open(file_name, 'r') as file:
            # 读取每一行内容,并写入新文件中
            for line in file:
                merge_file.write(line)

# 关闭所有打开的文件
merge_file.close()

2.使用shutil模块复制文件内容

import shutil

# 定义要合并的txt文件列表
file_list = ['file1.txt', 'file2.txt', 'file3.txt']

# 创建一个新文件,用于存储合并后的内容
with open('merged_file.txt', 'wb') as merge_file:
    # 依次打开每个txt文件,并将其内容复制到新文件中
    for file_name in file_list:
        with open(file_name, 'rb') as file:
            shutil.copyfileobj(file, merge_file)

# 关闭所有打开的文件
merge_file.close()

到此这篇关于python实现将多个txt文件的内容合并为一个的文章就介绍到这了,更多相关python合并多个txt文件内容内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文