Python 3.8环境下如何获取PIL图像的文件名?解决'Image'对象无'get_filename'属性错误
获取PIL图像文件名的正确方式
首先明确一点:PIL的Image对象并没有get_filename()方法,这就是你触发AttributeError的核心原因。
正确的做法是直接访问Image对象的filename属性——当你通过Image.open()打开图像文件时,PIL会自动将文件路径/名称存入这个属性中,所以你之前尝试的img.filename就是标准且有效的方式。
完整示例代码
from PIL import Image # 打开目标图像 img = Image.open("pic_1.png") # 直接获取文件名 print(img.filename) # 输出: pic_1.png
如果你偏好方法式调用
如果你习惯用类似get_filename()的方法形式来获取文件名,可以自己封装一个简单的辅助函数,本质还是依托filename属性实现:
from PIL import Image def get_image_filename(image_obj): return image_obj.filename # 使用示例 img = Image.open("pic_1.png") print(get_image_filename(img)) # 同样输出: pic_1.png
内容的提问来源于stack exchange,提问作者Maya
相关产品推荐
相关产品推荐

