反方向的无奈 2021-04-15 15:17 采纳率: 80%
浏览 148
已结题

python将多个txt合并成一个txt序列号问题

初学python求帮忙:

文件夹内有10个txt文档,每个文档里面有一篇文章,文章内有标题和内容;

需求:合并10个txt文档,每个文档的标题前面加入序号,并输出文档

例如:第1篇 [标题]

          [内容]

          第2篇 [标题]

          [内容]

           .............

          第10篇 [标题]

          [内容]

目前只实现合并但是并没有实现标题前面加入的序号,代码如下:

import os

def getAllTxt():
    # 文件夹目录
    path = "C:\\Users\\chzsu\\Desktop\\新建文件夹"
    # 得到文件夹下的所有文件名称
    files= os.listdir(path)
    txts = []
    # 遍历文件夹
    for file in files:
        # 构造绝对路径,"\\",其中一个'\'为转义符
        position = path+'\\'+ file
        # 输出路径
        print(position)
        # 打开文件
        if file.endswith(".txt"):
            with open(position, "r", encoding='utf-8') as f:
                # 读取文件
                data = f.read() + '\n\n'
                txts.append(data)
    # 转化为非数组类型
    txts = ''.join(txts)
    with open('txt/集合.txt', 'a', encoding='utf-8') as file:
        print(txts)
        file.write(txts)


getAllTxt()
  • 写回答

4条回答 默认 最新

  • 关注
    import os
    def getAllTxt():
        # 文件夹目录
        path = "C:\\Users\\chzsu\\Desktop\\新建文件夹"
        # 得到文件夹下的所有文件名称
        files= os.listdir(path)
        txts = []
        # 遍历文件夹
        num = 1 
        for file in files:
            # 构造绝对路径,"\\",其中一个'\'为转义符
            position = path+'\\'+ file
            # 输出路径
            print(position)
            # 打开文件
            if file.endswith(".txt"):
                with open(position, "r", encoding='utf-8') as f:
                    # 读取文件
                    data = f"第{num}篇 " + f.read() + '\n\n'
                    num += 1
                    txts.append(data)
        # 转化为非数组类型
        txts = ''.join(txts)
        with open('txt/集合.txt', 'a', encoding='utf-8') as file:
            print(txts)
            file.write(txts)
     
    getAllTxt()
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
  • 关注

    19,20行这里要做一些处理,每个文件分2次读取,第一次读标题,加上序号后保存,第二次读内容保存。

    评论
  • 有问必答小助手 2021-04-15 18:01
    关注

    您好,我是有问必答小助手,你的问题已经有小伙伴为您解答了问题,您看下是否解决了您的问题,可以追评进行沟通哦~

    如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

    ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632

    评论
  • 有问必答小助手 2021-04-16 15:17
    关注

    非常感谢您使用有问必答服务,为了后续更快速的帮您解决问题,现诚邀您参与有问必答体验反馈。您的建议将会运用到我们的产品优化中,希望能得到您的支持与协助!

    速戳参与调研>>>https://t.csdnimg.cn/Kf0y

    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 2月17日

悬赏问题

  • ¥15 I350 Gigabit Network
  • ¥15 关于#abap#的问题,请各位专家解答!
  • ¥20 内网通过公网访问外网问题
  • ¥20 谁有这个东西 继续教育的
  • ¥15 怎么使请求通过cors
  • ¥15 WDM 驱动ACPI 相关疑问
  • ¥15 prism 跨窗体共享数据绑定 wpf
  • ¥15 hdl designer突然用不了系统的moduleware组件,请问有人遇到或者怎么解决吗?
  • ¥15 0基础计算机毕设,应该从哪开始?
  • ¥60 使用DKT40脑图划分ROI区域