使用PILLOW导入图片时报文件或目录不存在错误的问题咨询
代码问题原因
你代码的核心问题是路径填写错误:你写的"Users/tylercordeiro/hello/sunrisesunsettime.jpeg"属于相对路径,Python运行时会从当前脚本的工作目录下寻找Users子文件夹,而非系统根目录下的Users文件夹,因此找不到对应文件。
如果你是要使用macOS/Linux系统下的绝对路径,需要在路径开头补/,修改为"/Users/tylercordeiro/hello/sunrisesunsettime.jpeg"即可。
文件路径填写通用规范
- 区分绝对路径和相对路径
- 绝对路径是从文件系统根目录出发的完整路径:macOS/Linux系统以
/开头,Windows系统以盘符开头(如C:/),填写正确的情况下无需考虑脚本运行位置就能找到文件 - 相对路径是相对于当前Python脚本运行的工作目录的路径:如果图片和脚本在同一个文件夹,直接写文件名即可;如果图片在脚本所在目录的子文件夹里,写
子文件夹名/文件名即可
- 绝对路径是从文件系统根目录出发的完整路径:macOS/Linux系统以
- 路径分隔符规范
- 优先使用正斜杠
/作为分隔符,可同时兼容Windows、macOS、Linux系统 - 如果使用Windows默认的反斜杠
\,需要给字符串加r前缀避免转义(如r"C:\Users\xxx\test.jpg"),或者写为双反斜杠C:\\Users\\xxx\\test.jpg
- 优先使用正斜杠
- 路径排查小技巧
可以先运行以下代码确认当前工作目录和路径有效性,再调用图片读取接口:import os # 打印当前Python的工作目录,确认路径填写是否匹配目录结构 print(os.getcwd()) # 检查目标路径是否存在 print(os.path.exists("你填写的图片路径"))
修正后代码示例
from PIL import Image # 使用补全后的绝对路径 img = Image.open("/Users/tylercordeiro/hello/sunrisesunsettime.jpeg")
内容的提问来源于stack exchange,提问作者Tyler Cordeiro
相关产品推荐
相关产品推荐

