Уведомления

Группа в Telegram: @pythonsu

#1 Июнь 6, 2009 14:58:10

PythoNoob
От:
Зарегистрирован: 2009-06-04
Сообщения: 13
Репутация: +  0  -
Профиль   Отправить e-mail  

Объединение команд в одну

Можно ли объединить несколько последовательных команд в одну? Если до, то как потом вызвать эту команду скажем n раз?



Офлайн

#2 Июнь 6, 2009 15:09:05

Enchantner
От:
Зарегистрирован: 2009-02-11
Сообщения: 442
Репутация: +  0  -
Профиль   Отправить e-mail  

Объединение команд в одну

Что вы имеете в виду под понятием “объединять”? Что мешает просто создать функцию?



Офлайн

#3 Июнь 6, 2009 15:30:52

lol2Fast4U
От:
Зарегистрирован: 2009-06-06
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

Объединение команд в одну

Так это и есть функция. Пример:
def spam():
eggs = commands.getoutput('ls')
return eggs

return - возвращает переменную
потом:
print spam() + ‘eggs’
foo = spam()
bar = int(spam()) #так не получится
и.т.д. - где надо



Офлайн

#4 Июнь 6, 2009 16:15:41

PythoNoob
От:
Зарегистрирован: 2009-06-04
Сообщения: 13
Репутация: +  0  -
Профиль   Отправить e-mail  

Объединение команд в одну

Допустим я хочу на клавиатуре нажать (программно) 20 раз по очереди “пробел”,“z”, “a”, “v”, “d” , или “n” раз , и мне надо вставить эти строки в разные части кода,
чтоб короче было как это сделать?



Офлайн

#5 Июнь 6, 2009 16:25:23

PythoNoob
От:
Зарегистрирован: 2009-06-04
Сообщения: 13
Репутация: +  0  -
Профиль   Отправить e-mail  

Объединение команд в одну

допустим такой код:

import win32api

win32api.keybd_event(ord('V'), 0, 0, 0) # нажали V
win32api.keybd_event(ord('V'), 0, win32con.KEYEVENTF_KEYUP, 0) # Отжали V
win32api.keybd_event(ord('S'), 0, 0, 0) # нажали S
win32api.keybd_event(ord('S'), 0, win32con.KEYEVENTF_KEYUP, 0) # Отжали S

Вопрос: Как объеденить несколько этих строк в одну команду, чтоб в ней была возможность повтора нажатий?



Офлайн

#6 Июнь 6, 2009 16:31:57

Enchantner
От:
Зарегистрирован: 2009-02-11
Сообщения: 442
Репутация: +  0  -
Профиль   Отправить e-mail  

Объединение команд в одну

PythoNoob
Модуль для подобных целей - pyatspi
Код будет выглядеть в вашем случае примерно так:

import pyatspi
reg = pyatspi.Registry
press = lambda x: reg.generateKeyboardEvent(x, None, pyatspi.KEY_PRESSRELEASE)
...
press(32)
где x - код нужной клавиши



Отредактировано (Июнь 6, 2009 16:35:03)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version