2013-06-26 6 views
0

Хорошо, ребята, у меня здесь небольшая проблема. Сегодня я начал с Python, и я уже создал скрипт, который сохраняет мою работу. Проблема в том, что он выходит с кодом 0 (да, я знаю, что это означает, что все пошло отлично). Этот, однако, по какой-то причине появляется до того, как сценарий фактически выполняется (желательно во время выполнения). Он заканчивается только случайным образом (не заканчивается через определенное время или по определенной строке кода). Он работал, прежде чем я добавил аргумент «время» к «существует». Я действительно не понимаю, в чем дело. Есть идеи? Неверный код приведен ниже:Sikuli (Python) - Код выхода 0 без причины

import random 
targetX="498" 
targetY="335" 
count=0 

def utok(): 
    click("1372278608978.png") 
    if exists("1372280914930.png", 0.5): 
     exit() 
    else: 
     if exists("1372277271552.png", 0.5) or exists("1372278898924.png", 0.5): 
      time.sleep(random.uniform(0.2, 0.6)) 
      click("1372278851129.png") 
     else: 
      click("1372278963975.png") 
      wait("1372279043731.png") 
      time.sleep(random.uniform(0.2, 0.5)) 
      click("1372278851129.png") 
      global count 
      count=count+1 

def utoceni(): 
    global count 
    count = 0 
    while count < 20: 
     click("1372277963474.png") 
     click("1372282694397.png") 
     time.sleep(random.uniform(0.5, 1.2)) 
     utok() 


def prvniutok(): 
    global count 
    count = 0 
    while count < 1: 
     click("1372277963474.png") 
     time.sleep(random.uniform(0.5, 1)) 
     paste("1372280783030.png", targetX) 
     time.sleep(0.1) 
     paste(targetY) 
     time.sleep(random.uniform(0.7, 1.5)) 
     utok() 

prvniutok() 
utoceni() 

Спасибо за ваши ответы, Доминик. :)

+0

Я потерял 'count', это слишком глобально. – Txema

+0

Если вы просто обращаетесь к значению глобальной переменной, вам не нужен «глобальный счет». Это необходимо, только если вы хотите изменить его значение (просто fyi) – Levon

+0

BTW, чтобы правильно использовать 'time.sleep', вам нужно импортировать модуль' time'. –

ответ

0

Строка 9, имеет вызов «exit()», если файл существует. Возможно, файл, который он ищет, существует, поэтому он выходит из программы.

+0

Да, спасибо, это может быть причиной. Я редактировал код, поэтому, если это так, все будет в порядке. –