遍历文件夹下(包括多个子文件夹)读取多个文件,并合并写到指定位置的 txt 文本中
需求是:在一个名叫“解压文件”的文件夹有 23 个地区的数据,其文件夹下有多个子文件夹下,需要最终找到名为‘D9501-1’或‘D9501-3’或‘D9501-6’的文件,需要将这些文件都合并到另一个路径下的 txt 文本中。
实现代码为:
import os
# """遍历文件夹里面的文件"""
path = os.path.abspath('//Mac/Home/Desktop/解压文件') # 文件夹所在的路径
flist = []
for root,dirs,files in os.walk(path):
if dirs:
continue
print(root,dirs,files)
for f in files:
#print(os.path.abspath(os.path.join(root,f)))
a = str(root) + '\\' + str(files[0])
flist.append(a)
print(flist)
ofile = open('//Mac/Home/Desktop/d.txt', 'w') #合并后写入txt的路径,以及txt文件的名字(此处命名为d.txt)
for fr in flist:
for txt in open(fr, 'r'):
ofile.write(txt)
ofile.close()
文件如下
a4e31810e6b3496b9f9c95521dc7ad1f_.rar
如无特殊需求,例如按日期、大小排序, 使用 glob.glob 更加简单