Python下载文件分类脚本二次运行出现WinError 3路径找不到错误求助
问题解决:Python文件分类脚本二次运行报错WinError3
错误原因
第二次运行脚本时,当前目录里只剩之前创建的分类文件夹,而你的脚本会遍历所有目录项(包括文件夹):
- 文件夹没有扩展名,
os.path.splitext()返回的extension是空字符串 - 计算
directory = extension[1:]就得到空字符串 - 执行
os.rename()时目标路径变成/{文件夹名},系统找不到空路径,触发错误
修复后的脚本
import os # 获取当前目录下的所有项 items = os.listdir('.') # 过滤出普通文件,排除文件夹 files = [item for item in items if os.path.isfile(item)] # 按扩展名排序 files.sort(key=lambda x: x.split('.')[-1]) for file in files: name, extension = os.path.splitext(file) # 处理无扩展名的文件,用"无扩展名文件"作为目录名 directory = extension[1:] if extension else "无扩展名文件" if not os.path.exists(directory): os.makedirs(directory) # 移动文件 os.rename(file, f'{directory}/{file}')
关键改动说明
- 新增
os.path.isfile()过滤,只处理普通文件,跳过文件夹 - 增加无扩展名文件的判断,避免生成空目录名
- 变量名从
files改为items再过滤,逻辑更清晰
内容的提问来源于stack exchange,提问作者Utkarsh Kale
相关产品推荐
相关产品推荐

