针对以上代码,我想对文件夹中的所有图片进行多次复制处理,请对以上代码进行修改并给出新代码内容。
时间: 2024-09-09 07:12:48 浏览: 27
如果你想对文件夹中的所有图片进行多次复制处理,你可以稍微修改一下代码,使其能够遍历整个文件夹树并且递归查找图片。这里是一个示例:
```python
import os
def copy_images(src_dir, dest_dir):
if not os.path.exists(dest_dir):
os.makedirs(dest_dir)
for root, dirs, files in os.walk(src_dir):
for file in files:
# 检查是否是图片文件
if file.endswith(('.png', '.jpg', '.jpeg')):
src_file = os.path.join(root, file)
dst_file = os.path.join(dest_dir, file)
try:
# 尝试复制图片
shutil.copy2(src_file, dst_file)
print(f"成功复制文件:{src_file} 到 {dst_file}")
except Exception as e:
print(f"复制文件失败:{src_file}, 错误信息:{str(e)}")
# 使用函数并传入源目录和目标目录
copy_images("/path/to/source/folder", "/path/to/destination/folder")
```
在这个修改后的版本中,我们添加了一个循环来处理每个子目录,并且使用`shutil.copy2`来确保文件的完整性和权限设置在复制过程中得到保留。记得替换`"/path/to/source/folder"`和`"/path/to/destination/folder"`为你实际需要的源和目标文件夹路径。如果你需要多次复制,只需多次调用`copy_images()`函数即可。