Я работаю над своим первым большим проектом на Python - Вдохновленный учебным пособием по суши Криса Киля go, я создаю бота, который играет в текстовую сим-игру, используя gui автоматизацию и основы c компьютерное зрение. Я хочу использовать Pillow для создания снимков экрана и gui apis для управления операционной системой, но я могу создавать сценарии, которые выполняют оба, но не оба. Я не совсем уверен, что я делаю неправильно - любая помощь будет очень признательна - спасибо.
Вот сокращенная версия того, что я пытаюсь сделать:
def match_loop():
global home_or_away
box = (x_pad+1,y_pad+1,x_pad+806,y_pad+629)
im2 = ImageGrab.grab(box)
time.sleep(1)
mousePos((x_pad+49, y_pad+149))
leftClick()
time.sleep(1)
if home_or_away == "home":
mousePos((x_pad+175, y_pad+543))
leftClick()
mousePos((x_pad+49, y_pad+149))
else:
mousePos((x_pad+728, y_pad+543))
leftClick()
mousePos((x_pad+49, y_pad+149))
im2.save(os.getcwd() + '\\full_snap_' + str(int(time.time()))+'.png', 'PNG')
while im2.getpixel((33,136)) != (206,203,214) : #while it's the first half
im2 = ImageGrab.grab(box)
im2.save(os.getcwd() + '\\full_snap_' + str(int(time.time()))+'.png', 'PNG')
time.sleep(1)
if im2.getpixel((33,136)) == (206,203,214): #if's the secondhalf
secondhalf()
secondhalf()
Приведенный выше код работает нормально, но приведенный ниже код приводит к синтаксической ошибке после вызова функции mousePos, которая работает в функции выше, независимо от того, что я ставлю потом:
def subsaudit():
im = ImageGrab.grab(box)
im.save(os.getcwd() + '\\full_snap_' + '.png', 'PNG')
if im.getpixel((124,399)) or im.getpixel((125,399)) or im.getpixel((126,399)) or im.getpixel((127,399)) or im.getpixel((128,399)) or im.getpixel((129,399)) or im.getpixel((130,399)) or im.getpixel((131,399)) or im.getpixel((132,399)) or im.getpixel((133,399)) or im.getpixel((134,399)) or im.getpixel((135,399)) or im.getpixel((136,399)) or im.getpixel((137,399)) != (0,0,66):
subscount = 1
if im.getpixel((124,419)) or im.getpixel((125,419)) or im.getpixel((126,419)) or im.getpixel((127,419)) or im.getpixel((128,419)) or im.getpixel((129,419)) or im.getpixel((130,419)) or im.getpixel((131,419)) or im.getpixel((132,419)) or im.getpixel((133,419)) or im.getpixel((134,419)) or im.getpixel((135,419)) or im.getpixel((136,419)) or im.getpixel((137,419)) != (0,0,66):
subscount = 2
if subscount >= 1 :
mousePos(((x_pad+178, y_pad+399))
time.sleep(1)
leftClick()
box = (x_pad+1,y_pad+1,x_pad+806,y_pad+629)
im = ImageGrab.grab(box)
im.save(os.getcwd() + '\\full_snap_' + '.png', 'PNG')