尝试合并文件夹中的所有文本文件并附加文件

时间:2018-12-13 22:17:11

标签: python python-3.x

我正在尝试合并文件夹中的所有文本文件。我已经完成了这部分的工作,但是当我尝试在每个文本文件的内容之前附加文件名时,出现了一个错误,内容为:self.custom_obj

下面的代码必须非常接近,但是肯定存在问题。有什么想法可能有问题吗?

TypeError: a bytes-like object is required, not 'str'

1 个答案:

答案 0 :(得分:2)

outfile.write(f)似乎是您的问题,因为您是使用'wb'以二进制模式打开文件的。您可以使用encode转换为字节。您可能也不想在最后一行关闭outfile(尽管无论如何您都不会调用该函数)。所以这样的事情可能对您有用:

import glob

folder = 'C:\\my_path\\'

read_files = glob.glob(folder + "*.txt")

with open(folder + "final_result.txt", "wb") as outfile:
    for f in read_files:
        with open(f, "rb") as infile:
            outfile.write(f.encode('utf-8'))
            outfile.write(infile.read())