python实现将多个文件内容合并到一个文件

问题场景:

有时候需要将数十个甚至上百个txt或其他格式的文件内容合并到一起,如果一个个复制粘贴显然太费功夫,因此可以用代码实现文件内容的合并。

代码示例:

import os
import linecache


def combine_file():

    # 读取指定路径下的所有文件并放入到列表中
    root = input('please input the dir:')
    file_names = os.listdir(root)
    print(file_names)
    file_ob_list = []
    for file_name in file_names:
        fileob = root + '/' + file_name
        file_ob_list.append(fileob)
    print(file_ob_list)

    # 对每个文件,按行读取文件内容并放入同一个列表data中
    data = []
    for file_ob in file_ob_list:
        line_num = 1
        length_file = len(open(file_ob, encoding='utf-8').readlines())
        print(length_file)
        while line_num <= length_file:
            line = linecache.getline(file_ob, line_num)
            line = line.strip()
            data.append(line)
            line_num = line_num + 1

    # 将data内容写入到生成的txt文件中,注意编码问题
    f = open('./combine_data.txt', 'w+', encoding='utf-8')
    for i, p in enumerate(data):
        print(i, p)
        f.write(p+'\n')
    f.close()


combine_file()

 代码解析:

其实主要是三步:指定路径、读取到列表、写入文件,这中间用到了python的os和linecache模块,前者可以显示指定目录下的文件名,后者可以读取指定行的文件内容。

 

    原文作者:中科小白
    原文地址: https://blog.csdn.net/qq_42278138/article/details/104900559
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞