You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

调用tf.keras.preprocessing.image.load_img时报Errno13权限被拒绝错误

报错原因

这个PermissionError和系统访问权限没关系,核心是代码写错了,导致传入图片加载函数的路径是当前工作目录.,函数本来要打开图片文件读二进制内容,结果传进来个目录路径,自然触发报错。具体有两处错误:

  • 变量名拼错:前面定义排序后文件列表的时候,变量名是fnames(末尾带s),后面取第4个元素(索引3)的时候写成了fname[3],少打了个s。正常来说这里应该直接报NameError说fname没定义,但Spyder会保留之前运行过的变量,刚好之前残留的fname变量值就是'.',程序就把这个值当图片路径传进去了。
  • 漏了导入语句:代码里用了os.path.join、os.listdir,但开头根本没导入os模块,就算把变量名改对,跑生成文件列表那行也会先报错。
修复步骤

按顺序改完就能正常跑:

  1. 在最开头的导入部分补上os模块的导入:
import os
  1. 把取图片路径那行的变量名改对,和前面定义的列表名一致:
# 把原来错写的fname[3]改成fnames[3]
img_path = fnames[3]
  1. 改完之后最好重启下Spyder的IPython内核,把之前残留的旧变量清掉,再从头跑整段代码,避免历史变量干扰结果。

小提示:后续遇到这类文件加载报错,第一时间先打印传入的路径值,确认路径是不是你要的目标文件,能少走很多弯路,别一上来就改文件夹权限。

内容的提问来源于stack exchange,提问作者Crackerslover

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 15:48:17