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 filedialogdef 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)
try:
os.remove(file_path)
print(f"已删除文件: {file_path}“)
except OSError as e:
print(f"删除文件时出错: {file_path} - {e}”)def extract_directories(files):
# 从文件路径中提取出所在的文件夹
directories = set()
for file in files:
directory = os.path.dirname(file)
if directory not in directories:
directories.add(directory)
return list(directories)def main():
# 创建Tk实例,但不显示主窗口
root = tk.Tk()
root.withdraw()
# 弹出文件选择对话框,允许选择多个文件
word_files = filedialog.askopenfilenames(title="选择Word文件")
# 如果用户取消了选择,则word_files将是空列表
if word_files:
# 从Word文件中提取出所在的文件夹
folders = extract_directories(word_files)
# 遍历选中的文件夹列表
for folder in folders:
delete_word_files(folder)
if name == “main”:
main()
### 运行效果
![]()
选择完成后,按回车即可全部删除文件夹内的全部word
**自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。**
**深知大多数Python工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!**
**因此收集整理了一份《2024年Python开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。**
![img]()
![img]()
![img]()
![img]()
![img]()
![img]()