如何使用glob.glob合并文本文件并添加字符串打散文本?
How to use glob.glob to combine txt files and add a string to break up the 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() +"\n\n##################\n\n")
2 个问题(和 1 个警告):
- Unix 路径应该使用
'/'
作为分隔符,而不是 \
。 Unix 路径格式可能适用于 Windows,但反之则不行。
- 您可以直接迭代
glob.glob
。您可以使用 filenames = glob.glob(...)
或 for filename in glob.glob(...)
如果 infile
很大,infile.read()
可能很危险。您可以逐行写入文件。
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("\n\n##################\n\n")
我想合并一堆 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() +"\n\n##################\n\n")
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("\n\n##################\n\n")