【发布时间】:2021-10-01 12:10:30
【问题描述】:
我在一个数组中有一些文件,我想从多个文件夹中递归搜索
文件名数组的一个例子是['A_010720_X.txt','B_120720_Y.txt']
文件夹结构示例如下,我也可以将其作为数组提供,例如 ['A','B'] 和 ['2020-07-01','2020-07-12']。 “DL”对所有人来说都是一样的。
C:\A\2020-07-01\DL C:\B\2020-07-12\DL
等
我曾尝试使用 shutil,但它似乎不能有效地满足我的要求,因为我只能传入完整的文件名而不是通配符。我与 shutil 一起使用的代码可以工作但没有通配符并且具有绝对完整的文件名和路径,例如下面的代码只会给我 A_010720_X.txt
我相信要走的路是使用我以前没有使用过的 glob 或 pathlib,或者找不到一些与我的用例类似的好例子
import shutil
filenames_i_want = ['A_010720_X.txt','B_120720_Y.txt']
RootDir1 = r'C:\A\2020-07-01\DL'
TargetFolder = r'C:\ELK\LOGS\ATH\DEST'
for root, dirs, files in os.walk((os.path.normpath(RootDir1)), topdown=False):
for name in files:
if name in filenames_i_want:
print ("Found")
SourceFolder = os.path.join(root,name)
shutil.copy2(SourceFolder, TargetFolder)
【问题讨论】:
标签: python pandas glob pathlib