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

Python加载图片列表后调用mpimg.imread出现FileNotFoundError求助

解决FileNotFoundError:读取图片时找不到文件的问题

你碰到的这个问题根源很清晰:你的load_data函数只把文件名存入了X_train和X_test列表,但没有保留文件所在的完整路径。当你调用mpimg.imread(X_train[10])时,Python会默认在当前工作目录下寻找这个文件,可图片实际在你指定的train_path目录里,所以才会抛出「找不到文件」的错误。

修正方案:存储文件的完整路径

修改你的load_data函数,使用os.path.join()把目录路径和文件名拼接成完整路径,这样后续读取时就能准确定位到文件了:

import os

def load_data(train_path, test_path):
    X_train = []
    X_test = []
    # 拼接训练集文件的完整路径
    for filename in os.listdir(train_path):
        full_file_path = os.path.join(train_path, filename)
        X_train.append(full_file_path)
    # 拼接测试集文件的完整路径
    for filename in os.listdir(test_path):
        full_file_path = os.path.join(test_path, filename)
        X_test.append(full_file_path)
    return X_train, X_test

验证修正后的代码

调用修正后的函数,再读取图片就不会报错了:

# 替换成你实际的训练集、测试集路径
X_train, X_test = load_data("/path/to/your/train_set", "/path/to/your/test_set")

img = mpimg.imread(X_train[10])
imgplot = plt.imshow(img)
plt.show()

额外小技巧

如果想更稳妥,还可以用os.path.abspath()把拼接后的路径转为绝对路径,避免相对路径带来的潜在问题:

full_file_path = os.path.abspath(os.path.join(train_path, filename))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 08:11:11