如何使用glob.glob组合TXT文件并添加一个字符串以分解TXT



我想组合一堆txt文件,但我也想在每个文件的末尾添加一些东西,所以我知道一个文件结束了哪里,另一个文件开始(在此开始)案例我使用了" ###############")

如果我使用单独的文件并仔细阅读它们,则该代码有效,但是我希望能够通过使用glob.glob读取文件目录。当我这样做时,我会得到空白的外档。有人可以解释为什么会发生这种情况吗?

谢谢!

import glob
with open("concatenated.txt",'w') as outfile:
    for files in glob.glob('\home\wra\Desktop\combine\*.txt'):
        for fname in files:
            with open(fname) as infile:
                outfile.write(infile.read() +"nn##################nn")

2问题(和1个警告):

  • UNIX路径应具有'/'作为分离器,而不是\。Unix路径格式可能在Windows上工作,但反之亦然。
  • 您可以在glob.glob上直接迭代。您可以使用filenames = glob.glob(...)for filename in glob.glob(...)
  • infile.read()如果infile巨大,则可能是危险的。您可以按行编写文件。

import glob
with open("concatenated.txt",'w') as outfile:
    for filename in glob.glob('/home/wra/Desktop/combine/*.txt'):
        with open(filename) as infile:
            for line in infile:
                outfile.write(line)
        outfile.write("nn##################nn")

最新更新