python - 复制具有指定扩展名的文件并保留文件夹树结构
问题描述
我已经(在互联网的大力帮助下)编写了一个脚本,旨在将具有指定扩展名的文件从destiantion文件夹(和所有子文件夹)复制到新文件夹。
我已经部分完成了,但我有一个问题。
我的脚本正在复制文件,但只需将它们粘贴到作为目标的文件夹中,而不保留文件夹树结构。
我这样做的功能:
def copy_files_spec_ext(ext, file_path, root_path, dest_path):
ext_counter=0
ext="."+ext;
for root_path, dnames, fnames in os.walk(root_path):
for crt_file in fnames:
if crt_file.endswith(ext):
source_file_path = os.path.join(root_path, crt_file)
dest_file_path = os.path.join(dest_path, crt_file)
shutil.copyfile(source_file_path, dest_file_path)
ext_counter=ext_counter+1;
return ext_counter;
该代码是对我在这里找到的内容的修改
我是python的新手(几个月的非密集编码),所以请怜悯;-)。提前感谢您的帮助。
PS。抱歉英语不好。
解决方案
您忘记在目标中添加源的目录路径:
source_file_path = os.path.join(root_path, crt_file)
dest_file_path = os.path.join(dest_path, root_path ,crt_file)
推荐阅读
- android - Android SecurityException: uid xxxxx 无法显式添加帐户
- android - 用于插入换行符而不是在 Android 中创建段落的字符
- docker - 在 Docker 映像中包含 bash 脚本的最佳实践
- python - 尽管在数据库中添加了行,但 SQL 查询在点击后退按钮后不会返回新添加的行
- ios - AR App 根据 ARImageAnchor 播放不同的视频
- amazon-web-services - 如何从 EMR Spark 会话中获取数据?
- asp.net - 如何使用特定代码从excel表中获取数据
- python - 有人可以解释python代码的这种行为吗
- javascript - 对 for 语句中的变量求和数返回 NaN
- visual-studio-code - Visual Studio Code 调试控制台颜色