Сикули: оператор цикла for/if else работает неправильноPython

Программы на Python
Ответить
Anonymous
 Сикули: оператор цикла for/if else работает неправильно

Сообщение Anonymous »

У меня есть следующий код в Sikuli, который выполняет задачи копирования и вставки. Я хочу, чтобы он выполнял действия внутри «если не существует», когда файл caption.png не существует, но иногда, даже если его нет, он все равно пытается его найти и возвращает ошибку «невозможно найти файл caption.png».

for idx in range(1, 77):
if not exists("caption.png"):
click("1406907972716.png")
type(Key.PAGE_DOWN)
print "skip" + str(idx)
else:
click("caption.png")
type(Key.F2)
type("a", KeyModifier.CTRL)
type("c", KeyModifier.CTRL)
click("CLICKBOX-4.PNG")
click("BOX2-4.PNG")
type("a", KeyModifier.CTRL)
type(Key.DELETE)
type("v", KeyModifier.CTRL)
type(str(idx))
type(Key.HOME)
for i in range(25):
type(Key.DELETE)
click("1406907972716.png")
type(Key.PAGE_DOWN)


Я попробовал следующее, и это сработало, но что-то еще не работает должным образом: иногда случайно перескакивает на один idx. Не могу понять почему:

for idx in range(1, 77):
if not exists("caption.png"):
click("1406907972716.png")
type(Key.PAGE_DOWN)
print "skip" + str(idx)
else:
if exists("caption.png"):
click("caption.png")
type(Key.F2)
type("a", KeyModifier.CTRL)
type("c", KeyModifier.CTRL)
click("CLICKBOX-4.PNG")
click("BOX2-4.PNG")
type("a", KeyModifier.CTRL)
type(Key.DELETE)
type("v", KeyModifier.CTRL)
type(str(idx))
type(Key.HOME)
for i in range(25):
type(Key.DELETE)
click("1406907972716.png")
type(Key.PAGE_DOWN)


Подробнее здесь: https://stackoverflow.com/questions/251 ... -correctly
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»