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

9 篇文章 0 订阅
2 篇文章 0 订阅

问题场景:

有时候需要将数十个甚至上百个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模块,前者可以显示指定目录下的文件名,后者可以读取指定行的文件内容。

 

  • 11
    点赞
  • 46
    收藏
    觉得还不错? 一键收藏
  • 9
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值