Проблемы с проверкой времени и отправкой сообщения
Как правильно сохранять время которое сейчас и проверять так пока не поменяется на 1 минуту вперед, и когда поменяется уже определенные действия: КОД:
while True:
win32api.LoadKeyboardLayout('00000409', 1) # меняет язык на англ.
def pressed_key(e):
res = e.name # названия кнопки, например 'enter', 'caps lock'
if e.event_type == 'down':
print(str(datetime.datetime.now().time())[:-10]) # узнаю время - вывод HH:MM
keyboard.hook(pressed_key)
keyboard.wait()
Нужно сделать чтобы когда поменялась минута, выполнить определенную функцию Если не поменялась то пропустить
Пример что мне нужно:
*нажимаю клавиши
Время 15:50
print("время не меняется")
...
*нажимаю клавишУ*
время 15:51
print("время поменялось")
*нажимаю ещё раз клавишу*
print("время не поменялось")
Ответы (2 шт):
Автор решения: FotonPC
→ Ссылка
Чтобы сравнивать время достаточно и минут:
import keyboard
from datetime import datetime
last_time = datetime.now().minute
def pressed_key(e):
global last_time
res = e.name # названия кнопки, например 'enter', 'caps lock'
if e.event_type == 'down':
print(':'.join(str(datetime.now()).split('.')[0].split(':')[:-1]))
now_time = datetime.now().minute
if now_time != last_time:
print('Время поменялось!')
else:
print('Время не поменялось!')
last_time = now_time
while True:
win32api.LoadKeyboardLayout('00000409', 1) # меняет язык на англ.
keyboard.hook(pressed_key)
keyboard.wait()
Автор решения: Kers
→ Ссылка
Попробуйте так: Если всю логику обернуть в класс.
import keyboard
import datetime
class ClassName():
tm = "0"
def __init__(self):
keyboard.hook(self.pressed_key)
keyboard.wait()
def pressed_key(self, e):
res = e.name # названия кнопки, например 'enter', 'caps lock'
if e.event_type == 'down':
tm_now = str(datetime.datetime.now().time())[:-10]
if self.tm < tm_now:
self.tm = tm_now
print("Время ",tm_now)
elif self.tm == tm_now:
print("время не меняется")
ClassName()