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

使用PIL与os库加载settingsicon.png报错:找不到文件或目录

问题说明

尝试通过PIL库加载settingsicon.png文件,使用./settingsicon.png格式的相对路径时运行失败,报错信息为:

No such file or directory: './settingsicon.png'

尝试用os库处理路径仍未解决,相关代码如下:

import os
from PIL import Image
import customtkinter

# 获取绝对文件路径
file_path = os.path.abspath('path/to/settingsicon.png')

# 加载图片
img = Image.open(file_path)
解决方法
  • 核对文件路径匹配关系
    先明确脚本文件与settingsicon.png的实际位置:

    • 若两者在同一文件夹,直接用文件名settingsicon.png即可;
    • 若图片在脚本所在文件夹的子目录(比如icons文件夹),则路径应为./icons/settingsicon.png。
      你代码里写的path/to/settingsicon.png是占位符格式,需要替换成实际的相对路径。
  • 使用脚本目录拼接绝对路径
    用os.path.dirname(__file__)获取当前脚本的所在目录,再拼接图片路径,能避免工作目录差异导致的路径问题,修改后的代码:

import os
from PIL import Image
import customtkinter

# 获取当前脚本的绝对目录
script_dir = os.path.dirname(os.path.abspath(__file__))
# 拼接图片的完整路径
file_path = os.path.join(script_dir, 'settingsicon.png')

# 加载图片
img = Image.open(file_path)
  • 检查运行时的工作目录
    脚本运行时的工作目录不一定是脚本所在目录,可在代码开头添加print(os.getcwd())查看当前工作目录,如果和图片所在目录不一致,要么切换工作目录(用os.chdir(script_dir)),要么采用上面的绝对路径拼接方法。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 00:42:12