Python批量删除文件夹中的多个文件

应用示例

某一文件夹中有200多个城市的2002-2024年政府工作报告,需要批量删除文件夹中2010年之前的所以文件,使用Python的`os`模块来遍历文件,并根据文件名中的年份进行判断和删除。

代码解释

以下是一个代码示例:

# 1. **导入模块**:
#    - `os`:用于文件和目录操作。
#    - `re`:用于正则表达式操作。

# 2. **定义目标文件夹路径**:
#    - 使用原始字符串(以`r`开头)来定义文件夹路径,避免反斜杠转义。

# 3. **正则表达式匹配年份**:
#    - `year_pattern`:匹配文件名中的四位数字(年份)。

# 4. **遍历文件夹中的所有文件**:
#    - 使用`os.listdir(folder_path)`获取文件夹中的所有文件名。
#    - 对每个文件名使用正则表达式进行匹配,提取年份。

# 5. **删除2010年之前的文件**:
#    - 如果年份匹配成功且小于2010年,构造文件的完整路径。
#    - 使用`os.remove(file_path)`删除文件,并打印删除日志。
#    - 捕获和打印删除文件时可能出现的异常。

代码

import os
import re

# 目标文件夹路径
folder_path = r"D:\\download\\文件夹名称"

# 正则表达式匹配文件名中的年份,文件的名称格式为“北京2010”,确保所以文件名称统一,根据需要自行修改
year_pattern = re.compile(r'(\d{4})')

# 遍历文件夹中的所有文件
for filename in os.listdir(folder_path):
    # 匹配文件名中的年份
    match = year_pattern.search(filename)
    if match:
        year = int(match.group(1))
        # 如果年份小于2010年,删除文件
        if year < 2010:
            file_path = os.path.join(folder_path, filename)
            try:
                os.remove(file_path)
                print(f"Deleted file: {file_path}")
            except Exception as e:
                print(f"Error deleting file {file_path}: {e}")

注意事项

# - **备份数据**:在运行此脚本之前,建议备份文件夹中的数据,以防误删重要文件。
# - **测试脚本**:在实际删除文件之前,可以先打印出要删除的文件路径,确认无误后再执行删除操作。

# 你可以将此代码保存为Python脚本文件(例如`delete_old_files.py`),然后在终端或命令提示符中运行它。
 

本人也在学习中,如有错误和需改进的地方还请包涵和指教。

  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值