用shutil模块对文件(夹)操作的功能,包括复制、移动、重命名、删除等

本文介绍了Python的shutil模块,详细讲解了如何使用该模块进行文件和目录的操作,包括复制、移动、重命名和删除等功能。并提供了一个示例代码,演示了如何使用shutil.rmtree()方法删除目录树。
import shutil
if os.path.exists(output_path):
    shutil.rmtree(output_path)  # 删除目录树

shutil模块拥有许多文件(夹)操作的功能,包括复制、移动、重命名、删除等等 

可以参考:https://www.cnblogs.com/wuzhiblog/p/6535527.html

要实现将指定姓名文件中的图片移动到以项目序号命名的文件中的 A 和 B 文件中,可以使用 Python 的 `shutil` 模块进行高效操作。`shutil.move()` 函数可用于替代复制操作,直接将文件从源路径移动到目标路径。 以下是一个完整的示例代码,展示如何处理多个项目文件中的姓名文件,并将图片移动到目标路径: ```python from pathlib import Path import shutil # 定义项目根目录和输出目录 project_root = Path('D:\\Projects') output_dir = Path('D:\\Output') # 确保输出目录存在 output_dir.mkdir(parents=True, exist_ok=True) # 指定需要查找的姓名 target_names = ['张三', '李四'] # 遍历所有项目文件 for project_folder in project_root.iterdir(): if not project_folder.is_dir(): continue # 只处理目录 project_number = project_folder.name # 获取项目编号 for name in target_names: src_folder = project_folder / name # 构造源文件路径 if not src_folder.exists(): continue # 如果不存在该姓名文件,则跳过 # 构造目标文件路径 dest_folder = output_dir / f'{project_number}_{"A" if name == target_names[0] else "B"}' dest_folder.mkdir(parents=True, exist_ok=True) # 移动图片文件 for image_file in src_folder.glob('*.[jJ][pP][gG]'): # 匹配 .jpg 文件 shutil.move(str(image_file), dest_folder) for image_file in src_folder.glob('*.[pP][nN][gG]'): # 匹配 .png 文件 shutil.move(str(image_file), dest_folder) ``` ### 说明 - 使用 `Path` 构造路径并操作目录。 - 使用 `mkdir` 创建目标目录,若已存在则不报错。 - 使用 `glob` 方法匹配常见的图片格式(如 `.jpg`, `.png`)。 - 使用 `shutil.move()` 实现文件移动操作,与 `copy2()` 不同的是,它会删除文件[^1]。 ### 注意事项 - 若目标路径中已有相同文件名的文件,`shutil.move()` 会抛出异常,需额外处理重命名逻辑。 - 可根据需求扩展支持更多图像格式或调整文件筛选规则。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值