Python 类型错误:';非类型';对象不是可移植的pyscreeze
我试图在当前屏幕中检测到一张图片。有时它可以找到图片并返回图片的结果位置。但有时,当它存在于当前屏幕中时,可以找到它。在那个时候,它出现了错误Python 类型错误:';非类型';对象不是可移植的pyscreeze,python,Python,我试图在当前屏幕中检测到一张图片。有时它可以找到图片并返回图片的结果位置。但有时,当它存在于当前屏幕中时,可以找到它。在那个时候,它出现了错误 TypeError: 'NoneType' object is not iterable 因为没有找到结果。当我没能找到结果时,我试着扔 try: a,b,c,d = pyscreeze.locateOnScreen('pic.png') except AttributeError: print('no object found on
TypeError: 'NoneType' object is not iterable
因为没有找到结果。当我没能找到结果时,我试着扔
try:
a,b,c,d = pyscreeze.locateOnScreen('pic.png')
except AttributeError:
print('no object found on screen')
但遗憾的是,它不起作用。因此,无论如何都必须抛出错误
TypeError:“NoneType”对象不可编辑
当找不到图片时?除了引发的错误类型之外,您必须,因此在这种情况下应该是:
try:
a,b,c,d = pyscreeze.locateOnScreen('pic.png')
except TypeError:
# ^
print('no object found on screen')
请注意,可以在不指定错误类型的情况下除
之外,但这通常不是好的做法。根据文档,如果未找到任何错误,则locateOnScreen()
将返回无
,因此您可能希望您的代码如下所示:
position = pyscreeze.locateOnScreen('pic.png')
if position is None:
print("Not found")
else:
a,b,c,d = position
除了类型错误
不是属性错误
@Chris\u Rands谢谢你的回复:)。顺便说一句,这个库相当糟糕:(,找到图像的速度低于10%,你能给我推荐一个比pyscreeze更好的库来在当前屏幕中找到图像吗?