使用PIL.ImageGrab调用show()触发AttributeError问题咨询
问题分析与解决方法
错误原因
你遇到的AttributeError是因为错误调用了PIL.ImageGrab模块的show()方法——show()是PIL.Image实例对象的方法,并非ImageGrab模块的属性。
正确实现步骤
1. 获取截图的Image实例
先用ImageGrab.grab()方法捕获屏幕截图,得到一个Image对象,而非直接操作ImageGrab模块。
2. 调用Image对象的show()方法
对获取到的Image实例调用show(),注意该方法的参数是窗口标题(可选),不是保存的文件名;如果需要保存图片,需单独调用save()方法。
示例代码
from PIL import ImageGrab # 获取屏幕截图,得到Image对象 screenshot = ImageGrab.grab() # 显示截图(参数为窗口标题) screenshot.show(title="Teste") # 保存截图到本地 screenshot.save("Teste.png")
额外说明
- Pillow的
show()方法无需额外安装依赖,只要系统有默认图片查看器即可正常运行。 - 若仍有异常,可尝试升级Pillow到最新稳定版:
pip install --upgrade pillow
内容的提问来源于stack exchange,提问作者Bruno Ciccarino
相关产品推荐
相关产品推荐

