Python 合并TXT文件

将一个文件夹内所有txt文件合并成一个txt文件。
合并后的txt文件按章节对应原来每个txt文件,一个输入文件是一章,章节名字就是原txt文件文件名

报错


Traceback (most recent call last):
  File "C:/Users/hjasee/PycharmProjects/untitled/fi.py", line 3, in <module>
    files = os.listdir(dirPath)
OSError: [WinError 123] 文件名、目录名或卷标语法不正确。: 'E:\\pd\t'

方法是拷别人的,不会改

import os
dirPath = "E:\pd\t"  # 所有txt位于的文件夹路径
files = os.listdir(dirPath)
res = ""
i = 0
for file in files:
    if file.endswith(".txt"):
        i += 1
        title = "第%s章 %s" % (i, file[0:len(file) - 4])
        with open("dirpath/" + file, "r", encoding='utf-8') as file:
            content = file.read()
            file.close()
        append = "\n%s\n\n%s" % (title, content)
        res += append
with open("dirpath/outfile.txt", "w", encoding='utf-8') as outFile:
    outFile.write(res)
    outFile.close()
print(len(res))

看了你的需求,代码修改如下,看看行不行。需要自己修改一下文件路径dirPath,不要忘记写最后的反斜杠。望采纳

import os
dirPath = "E:/pd/txtfiles/"  # 所有txt位于的文件夹路径
files = os.listdir(dirPath)
res = ""
i = 0
for file in files:
    if file.endswith(".txt"):
        i += 1
        title = "第%s章 %s" % (i, file[0:len(file) - 4])
        with open(dirPath + file, "r", encoding='utf-8') as f:
            content = f.read()
        now_content = "\n%s\n\n%s" % (title, content)
        res += now_content
with open(dirPath + "outfile.txt", "w", encoding='utf-8') as outFile:
    outFile.write(res)


换脸