我正在使用pyautogui来检查像素是否与颜色匹配,例如在《自动化无聊的东西》第18章中。
我的程序(在重新启动IDLE之后)整体是:
import pyautogui
pyautogui.pixelMatchesColor(50,100 (255,255,255))
就是这样。
返回以下内容:
TypeError: 'int' object is not callable
我查看了其他“ int is not callable”线程,它们似乎与诸如函数之类的变量有关。这里不是这种情况。我还在以下位置检查了文档:https://pyautogui.readthedocs.io/en/latest/screenshot.html,但看不到出了什么问题。
任何人都可以告诉我我忽略了什么吗?谢谢。
答案 0 :(得分:0)
看起来您需要在100和元组之间使用逗号。然后应该可以正常工作,因为pixelMatchesColor采用x坐标,y坐标和RGB元组。照原样,Python认为您正在尝试使用参数255、255和255调用函数100。
pyautogui.pixelMatchesColor(50,100,(255,255,255))
应该工作。您没有像函数一样命名的变量,但是您不由自主地将常量/整数像函数一样,并在括号后面。
类似的错误如下:
x = [1, 2]
print(x(1))
TypeError: 'list' object is not callable
或者相反,在函数上使用括号
def a(x): return False
print(a[True])
TypeError: 'function' object is not subscriptable
我仍然经常收到“对象不可调用/不能下标”错误,但是我已经习惯于检查括号/括号的正确使用。