我的问题:全部复制某些扩展名的文件,同时保持目录树
- 遍历目录,并找到所有的头文件,
*.h
。 - 复制这些文件到另一个位置,但维持目录树
我已经试过:
我已经能够收集使用os
库
for root, dirs, files in os.walk(r'D:\folder\build'):
for f in files:
if f.endswith('.h'):
print os.path.join(root, f)
此打印正确:
D:\folder\build\a.h
D:\folder\build\b.h
D:\folder\build\subfolder\c.h
D:\folder\build\subfolder\d.h
当我被困:
随着完整的文件路径列表,我怎么才能将这些文件复制到另一个位置,同时保持子目录?在上面的例子中,我要保持低于\build\
例如目录结构,我愿意副本创建以下:
D:\other\subfolder\build\a.h
D:\other\subfolder\build\b.h
D:\other\subfolder\build\subfolder\c.h
D:\other\subfolder\build\subfolder\d.h
python3'ignore_func = lambda d,files:[f for f in file if(Path(d)/ Path(f))。is_file()and f.endswith('.py')] ' – 2017-05-12 15:30:52