如何在Python中查看Pillow捕获的屏幕截图?
问题分析与解决方法
你的错误根源在于误用了Image.open():PIL.ImageGrab.grab()执行后返回的crnts2本身就是一个PIL Image对象,不需要再用Image.open()去“打开”它。Image.open()的作用是读取本地图片文件或文件流,而非处理内存中已存在的Image对象,这才触发了'PixelAccess' object has no attribute 'read'的报错。
修正后的代码
直接对截图得到的对象调用show()方法即可查看:
import PIL.ImageGrab def lswth(): crnts2 = PIL.ImageGrab.grab(bbox=(934, 813, 966, 830)) crnts2.show() # 直接调用show()展示截图 lswth()
额外说明
如果需要保存截图,直接调用Image对象的save()方法即可,无需额外的load()操作:
crnts2.save("my_screenshot.png") # 保存截图到本地
内容的提问来源于stack exchange,提问作者Emerald47
相关产品推荐
相关产品推荐

