使用Python批量删除文件夹内的Word(1)

文章介绍了如何使用Python编写脚本,通过tkinter和filedialog库实现弹窗选择文件夹,然后递归删除其中的所有Word文档(.doc和.docx)。还提及了一个开发者分享的学习资源,提供从零基础到进阶的Python开发学习资料。

1.弹窗自己选择需要处理的文件夹(代码会将文件夹内全部的Word文件删除)

2.删除完成,代码结束。

详细代码

需要用到的库:

import os
import tkinter as tk
from tkinter import filedialog

安装tkinter、filedialog这两个库的指令:

pip install tkinter
pip install filedialog

首先定义一个函数,提取指定路径下的全部文件夹:一个名为 ​extract_directories​的函数,该函数接受一个文件路径列表作为输入,并返回这些文件路径所在文件夹的集合

import os

def extract_directories(files):
    """
    从文件路径中提取出所在的文件夹,并返回一个不重复的文件夹路径列表。

    Args:
    files: 包含文件路径的列表

    Returns:
    包含文件夹路径的列表
    """
    directories = set()  # 创建一个空集合用于存储文件夹路径
    for file in files:  # 对文件路径列表进行循环遍历
        directory = os.path.dirname(file)  # 提取文件所在文件夹的路径
        if directory not in directories:  # 检查是否已经在集合中
            directories.add(directory)  # 如果不在集合中,则添加
    return list(directories)  # 将集合转换为列表并返回

然后是删除指定目录下的word文件:一个名为 ​delete_word_files​的函数,它接受一个目录路径作为输入,并遍历该目录及其所有子目录,删除其中所有扩展名为’.doc’或’.docx’的文件。

import os

def delete_word_files(directory):
    """
    遍历指定目录及其所有子目录,删除其中所有扩展名为'.doc'或'.docx'的文件。

    Args:
    directory: 目标目录的路径

    Returns:
    无
    """
    for root, dirs, files in os.walk(directory):  # 使用os.walk遍历目录及其子目录
        for file in files:  # 遍历当前目录下的文件列表
            if file.endswith('.doc') or file.endswith('.docx'):  # 检查文件扩展名
                file_path = os.path.join(root, file)  # 构建文件的完整路径
                try:
                    os.remove(file_path)  # 删除文件
                    print(f"已删除文件: {file_path}")  # 打印删除成功的提示信息
                except OSError as e:
                    print(f"删除文件时出错: {file_path} - {e}")  # 打印删除失败的错误信息

完整代码

import os
import tkinter as tk
from tkinter import filedialog

def delete_word_files(directory):
    # 遍历指定目录及其所有子目录
    for root, dirs, files in os.walk(directory):
        for file in files:
            if file.endswith('.doc') or file.endswith('.docx'):
                file_path = os.path.join(root, file)
**自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。**

**深知大多数Python工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!**

**因此收集整理了一份《2024年Python开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。**

![img](https://img-blog.csdnimg.cn/img_convert/7adddc72f22e1e6508e3d3780cbc20f1.png)

 

![img](https://img-blog.csdnimg.cn/img_convert/d689abc9b133f2d1a9c49c7d46dd0f15.png)

![img](https://img-blog.csdnimg.cn/img_convert/46506ae54be168b93cf63939786134ca.png)

![img](https://img-blog.csdnimg.cn/img_convert/252731a671c1fb70aad5355a2c5eeff0.png)

![img](https://img-blog.csdnimg.cn/img_convert/6c361282296f86381401c05e862fe4e9.png)

![img](https://img-blog.csdnimg.cn/img_convert/9f49b566129f47b8a67243c1008edf79.png)

 

**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!**

**由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新**

**如果你觉得这些内容对你有帮助,可以扫码获取!!!(备注Python)**

系化!**

**由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新**

**如果你觉得这些内容对你有帮助,可以扫码获取!!!(备注Python)**

<img src="https://img-community.csdnimg.cn/images/fd6ebf0d450a4dbea7428752dc7ffd34.jpg" alt="img" style="zoom:50%;" />
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值