Python 3.7中PIL打开图片触发FileNotFoundError问题求助
解决PIL打开图片时的FileNotFoundError问题
嘿,我看你作为Python初学者,在用PIL打开图片时碰到了FileNotFoundError,咱们一步步来搞定这个问题~
首先看你代码里的关键问题:你写的Image.open("v")里的"v"既不是你的.jpg图片文件名,也不是有效的文件路径,这肯定找不到文件呀!咱们先从正确指定图片路径开始调整:
第一步:确认图片的正确位置和文件名
你提到图片放在三个文件夹里,优先推荐把图片和你的Python代码文件(temp.py)放在同一个文件夹(也就是「Python代码文件夹」),这样操作最方便;如果放在「我的图片文件夹」也没关系,只要拿到正确的绝对路径就行。别把自己的图片放到anaconda3\lib\site-packages\PIL文件夹,那是库的安装目录,放自己的文件不合适。
第二步:正确的代码示例
示例1:图片和代码文件在同一个文件夹
假设你的图片叫my_photo.jpg,和temp.py在同一个文件夹里,代码改成这样:
from PIL import Image # 直接写正确的图片文件名(带.jpg后缀) image = Image.open("my_photo.jpg") print("尺寸和格式:", image.size, image.format) data = list(image.getdata()) print(data[:30])
示例2:用图片的绝对路径(比如在「我的图片文件夹」)
先找到图片的完整绝对路径,比如Windows下可能是C:/Users/Optimal Conseil/Pictures/my_photo.jpg(注意路径用斜杠/或者双反斜杠\\),代码改成:
from PIL import Image # 替换成你自己的图片绝对路径 image_path = "C:/Users/Optimal Conseil/Pictures/my_photo.jpg" image = Image.open(image_path) print("尺寸和格式:", image.size, image.format) data = list(image.getdata()) print(data[:30])
第三步:排查小技巧
如果还是报错,可以试试这些方法:
- 检查文件名拼写:有没有把
.jpg写成.jpeg,或者大小写错误(Windows下不区分大小写,但最好和实际文件名一致) - 验证路径有效性:把你写的路径复制到文件资源管理器里,看看能不能直接打开图片,确认路径是对的
- 查看当前工作目录:有时候代码运行的目录和你以为的不一样,用下面的代码输出当前目录,确认图片是否在这个目录里:
import os print(os.getcwd()) # 输出当前工作目录
内容的提问来源于stack exchange,提问作者Lorette VIGIER




