Выполнение двух функций параллельно
Всем привет! Подскажите, возможно ли в питоне реализовать параллельное выполнение функций? Если да, то как?
P.S. 1 функция — обработка сообщений (бот телеграма), 2 — проверка статуса оплаты.
P.S.S. Пробовал использовать time sleep, но при выполнении фризится и первая функция.
Лучшие ответы ( 1 )
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:
Независмое выполнение двух функций параллельно
Я пишу голосовой помощник на питоне. Используя встроенный в линукс минт festival, я зачитываю.
Одновременное выполнение двух функций
Как запустить эти две функции одновременно? r = sr.Recognizer() with sr.Microphone() as source.
Обработка двух запросов параллельно на сервере pythonanywhere
Прошерстив просторы гугла я толком ничего не нашел, кроме небольшой подсказки без объяснения как.
Как организовать выполнение двух различных задач параллельно
Здравствуйте. Есть у меня такая проблема. Никак не могу понять как организовать выполнение 2х.
Одновременное выполнение двух функций
Как мне заставить картинку и передвигаться и менять размер,а то одновременно выполнение этих.
4459 / 3212 / 1125
Регистрация: 21.03.2016
Сообщений: 7,949
Сообщение от Ivan Nikolaev
Пробовал использовать time sleep
каким боком таймер будет распараллеливать функции? то есть вы думаете если одну поставить на таймер то другая будет работать? очень хороший пример как не нужно обучаться на ботах!
изучайте только не через строку а то так ничего и не поймете
5416 / 3840 / 1214
Регистрация: 28.10.2013
Сообщений: 9,554
Записей в блоге: 1
Сообщение было отмечено Ivan Nikolaev как решение
Решение
Сообщение от Ivan Nikolaev
возможно ли в питоне реализовать параллельное выполнение функций?
Истинное параллельное (в один и тот же момент времени) выполнение задач возможно только на двух и более процессорах. Так что язык тут ни при чем.
Поэтому большинству программистов требуется не параллельное выполнение, а конкурентное.
Что такое конкурентность следует поизучать прежде изучение ботов.
В Python есть разные способы достичь concurrency:
1) для IO задач concurrency достигается использованием асинхронности (более предпочтительный способ), либо многопоточности.
2) для CPU задач concurrency достигается использованием многопроцессности (данный способ получения concurrency также иногда относят к параллельности, c той оговоркой что это не истинная параллельность, а мнимая, так один процессор если и способен выполнять что-то параллельно, то максимум отдельные низкоуровневые операции).
Добавлено через 2 минуты
Сообщение от Ivan Nikolaev
Как запустить функции параллельно, Python?
Нужно объяснить в вопросе, какую функцию вы хотите запустить параллельно и с чем.
11 мая 2021 в 12:30
Есть 2 функции screenShot() и time_buff(). Хотелось бы их запустить параллельно друг с другом. Я пробовал использовать потоки, но не получилось т.к. обе функции заканчиваются только по нажатию определённой клавиши на клавиатуре
13 мая 2021 в 20:29
1 ответ 1
Сортировка: Сброс на вариант по умолчанию
Ошибка заключалась в том что при создании потока я объявлял его так : thread1 = Thread(target=screenShot()). Поэтому выполнялась функция а не создавался поток.
import threading import keyboard import time as Time from threading import Thread name = "имя окна" # имя окна buff_run = True time = Time.time() def screenShot(): i = 0 while not(keyboard.is_pressed("ctrl")): Time.sleep(1) print("я работаю ") #i += 1 def time_buff(): global buff_run global time i = 0 while not(keyboard.is_pressed("ctrl")): Time.sleep(0.1) if (round(Time.time() - time)%60) == 0 or buff_run: #конструкция работает buff_run = False print('BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFFFFFFFF') def main(): # # Тут что-то должно быть # # thread1 = Thread(target=screenShot) thread2 = Thread(target=time_buff) thread1.start() thread2.start() thread1.join() thread2.join() if __name__ == "__main__": main()
Как параллельно запускать функции из функции python?
Чтобы такого не было, используют if __name__ == ‘__main__’: и создают процессы уже там, чтобы не возникало рекурсии.
from multiprocessing import Process def drop(URL,cardcvc,size1,MIDDLENAME,proxy,MAIL,PASS): ###some_code print('something') ###some_code def autor(): ###some code mm= for mal in mm: Process(target = drop,args=(urlg,cvvg,size1,mid,proxy,mal,mm[mal])).start() if __name__ == '__main__': autor()
Ну и здесь наверное больше поток подойдет
Ответ написан более двух лет назад
Комментировать
Нравится 1 Комментировать
Ответы на вопрос 1
Начал изучать html, Python и QT Designer
from threading import Thread def drop(URL,cardcvc,size1,MIDDLENAME,proxy,MAIL,PASS): ###some_code print('something') ###some_code def autor(): ###some code mm= urlg = '' # У тебя должны бать все эти аргументы для того что бы их передать в функцию( drop ) иначе будет ошибка cvvg = '' # У тебя должны бать все эти аргументы для того что бы их передать в функцию( drop ) иначе будет ошибка size1 = '' # У тебя должны бать все эти аргументы для того что бы их передать в функцию( drop ) иначе будет ошибка mid = '' # У тебя должны бать все эти аргументы для того что бы их передать в функцию( drop ) иначе будет ошибка proxy = '' # У тебя должны бать все эти аргументы для того что бы их передать в функцию( drop ) иначе будет ошибка for mal in mm: Thread(target=drop, args=(urlg,cvvg,size1,mid,proxy,mal,mm[mal],)).start() # В конце всех аргументов обязательно запятая должна быть if __name__ == '__main__': autor()
Ответ написан более двух лет назад
Комментировать
Нравится Комментировать
Ваш ответ на вопрос
Войдите, чтобы написать ответ
- Python
Палиндромы leetcode, в VS все правильно, на сайте другой ответ, что делать?
- 1 подписчик
- 2 часа назад
- 54 просмотра
Как запустить две функции одновременно?
Я сделал через wxPython трей, прописал функцию «on_start» с циклом While isWorking = 1 и по идее функция «on_stop» должна
менять значение isWorking на 0, но функция ,открывающая трей, не работает т.к выполняется другая. Это можно реализовать?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227
import keyboard as kb import soundfile as sf import soundcard as sc import wx import wx.adv TRAY_TOOLTIP = 'Voice keyboard' TRAY_ICON = 'icon.png' KeyBind = 'F9' def create_menu_item(menu, label, func): item = wx.MenuItem(menu, -1, label) menu.Bind(wx.EVT_MENU, func, id=item.GetId()) menu.Append(item) return item class TaskBarIcon(wx.adv.TaskBarIcon): def __init__(self, frame): wx.adv.TaskBarIcon.__init__(self) self.myapp_frame = frame self.set_icon(TRAY_ICON) self.Bind(wx.adv.EVT_TASKBAR_LEFT_DOWN, self.on_left_down) def CreatePopupMenu(self): menu = wx.Menu() create_menu_item(menu, 'Say Hello', self.on_hello) menu.AppendSeparator() create_menu_item(menu, 'Exit', self.on_exit) create_menu_item(menu, 'Start ('+KeyBind+')', self.on_start) return menu def set_icon(self, path): icon = wx.Icon(wx.Bitmap(path)) self.SetIcon(icon, TRAY_TOOLTIP) def on_left_down(self, event): print('Tray icon was left-clicked.') def on_hello(self, event): print('Hello, world!') def on_exit(self, event): self.myapp_frame.Close() def on_start(self, event): while True: if kb.is_pressed('f'): default_speaker = sc.default_speaker() samples, samplerate = sf.read('Sounds\Agressive_A.wav') default_speaker.play(samples, samplerate=samplerate) elif kb.is_pressed(','): default_speaker = sc.default_speaker() samples, samplerate = sf.read('Sounds\Agressive_B.wav') default_speaker.play(samples, samplerate=samplerate) elif kb.is_pressed('d'): default_speaker = sc.default_speaker() samples, samplerate = sf.read('Sounds\Agressive_V.wav') default_speaker.play(samples, samplerate=samplerate) elif kb.is_pressed('u'): default_speaker = sc.default_speaker() samples, samplerate = sf.read('Sounds\Agressive_G.wav') default_speaker.play(samples, samplerate=samplerate) elif kb.is_pressed('l'): default_speaker = sc.default_speaker() samples, samplerate = sf.read('Sounds\Agressive_D.wav') default_speaker.play(samples, samplerate=samplerate) elif kb.is_pressed('t'): default_speaker = sc.default_speaker() samples, samplerate = sf.read('Sounds\Agressive_E.wav') default_speaker.play(samples, samplerate=samplerate) elif kb.is_pressed('`'): default_speaker = sc.default_speaker() samples, samplerate = sf.read('Sounds\Agressive_EO.wav') default_speaker.play(samples, samplerate=samplerate) elif kb.is_pressed(';'): default_speaker = sc.default_speaker() samples, samplerate = sf.read('Sounds\Agressive_J.wav') default_speaker.play(samples, samplerate=samplerate) elif kb.is_pressed('p'): default_speaker = sc.default_speaker() samples, samplerate = sf.read('Sounds\Agressive_Z.wav') default_speaker.play(samples, samplerate=samplerate) elif kb.is_pressed('b'): default_speaker = sc.default_speaker() samples, samplerate = sf.read('Sounds\Agressive_I.wav') default_speaker.play(samples, samplerate=samplerate) elif kb.is_pressed('q'): default_speaker = sc.default_speaker() samples, samplerate = sf.read('Sounds\Agressive_IO.wav') default_speaker.play(samples, samplerate=samplerate) elif kb.is_pressed('r'): default_speaker = sc.default_speaker() samples, samplerate = sf.read('Sounds\Agressive_K.wav') default_speaker.play(samples, samplerate=samplerate) elif kb.is_pressed('y'): default_speaker = sc.default_speaker() samples, samplerate = sf.read('Sounds\Agressive_N.wav') default_speaker.play(samples, samplerate=samplerate) elif kb.is_pressed('p'): default_speaker = sc.default_speaker() samples, samplerate = sf.read('Sounds\Agressive_Z.wav') default_speaker.play(samples, samplerate=samplerate) elif kb.is_pressed('b'): default_speaker = sc.default_speaker() samples, samplerate = sf.read('Sounds\Agressive_I.wav') default_speaker.play(samples, samplerate=samplerate) elif kb.is_pressed('q'): default_speaker = sc.default_speaker() samples, samplerate = sf.read('Sounds\Agressive_IO.wav') default_speaker.play(samples, samplerate=samplerate) elif kb.is_pressed('r'): default_speaker = sc.default_speaker() samples, samplerate = sf.read('Sounds\Agressive_K.wav') default_speaker.play(samples, samplerate=samplerate) elif kb.is_pressed('k'): default_speaker = sc.default_speaker() samples, samplerate = sf.read('Sounds\Agressive_L.wav') default_speaker.play(samples, samplerate=samplerate) elif kb.is_pressed('v'): default_speaker = sc.default_speaker() samples, samplerate = sf.read('Sounds\Agressive_M.wav') default_speaker.play(samples, samplerate=samplerate) elif kb.is_pressed('y'): default_speaker = sc.default_speaker() samples, samplerate = sf.read('Sounds\Agressive_N.wav') default_speaker.play(samples, samplerate=samplerate) elif kb.is_pressed('j'): default_speaker = sc.default_speaker() samples, samplerate = sf.read('Sounds\Agressive_O.wav') default_speaker.play(samples, samplerate=samplerate) elif kb.is_pressed('g'): default_speaker = sc.default_speaker() samples, samplerate = sf.read('Sounds\Agressive_P.wav') default_speaker.play(samples, samplerate=samplerate) elif kb.is_pressed('h'): default_speaker = sc.default_speaker() samples, samplerate = sf.read('Sounds\Agressive_R.wav') default_speaker.play(samples, samplerate=samplerate) elif kb.is_pressed('c'): default_speaker = sc.default_speaker() samples, samplerate = sf.read('Sounds\Agressive_S.wav') default_speaker.play(samples, samplerate=samplerate) elif kb.is_pressed('n'): default_speaker = sc.default_speaker() samples, samplerate = sf.read('Sounds\Agressive_T.wav') default_speaker.play(samples, samplerate=samplerate) elif kb.is_pressed('e'): default_speaker = sc.default_speaker() samples, samplerate = sf.read('Sounds\Agressive_U.wav') default_speaker.play(samples, samplerate=samplerate) elif kb.is_pressed('a'): default_speaker = sc.default_speaker() samples, samplerate = sf.read('Sounds\Agressive_F.wav') default_speaker.play(samples, samplerate=samplerate) elif kb.is_pressed('s'): default_speaker = sc.default_speaker() samples, samplerate = sf.read('Sounds\Agressive_H.wav') default_speaker.play(samples, samplerate=samplerate) elif kb.is_pressed('w'): default_speaker = sc.default_speaker() samples, samplerate = sf.read('Sounds\Agressive_TS.wav') default_speaker.play(samples, samplerate=samplerate) elif kb.is_pressed('x'): default_speaker = sc.default_speaker() samples, samplerate = sf.read('Sounds\Agressive_CH.wav') default_speaker.play(samples, samplerate=samplerate) elif kb.is_pressed('i'): default_speaker = sc.default_speaker() samples, samplerate = sf.read('Sounds\Agressive_sh.wav') default_speaker.play(samples, samplerate=samplerate) elif kb.is_pressed('o'): default_speaker = sc.default_speaker() samples, samplerate = sf.read('Sounds\Agressive_SHZ.wav') default_speaker.play(samples, samplerate=samplerate) elif kb.is_pressed(']'): default_speaker = sc.default_speaker() samples, samplerate = sf.read('Sounds\Agressive_TverdiyZnak.wav') default_speaker.play(samples, samplerate=samplerate) elif kb.is_pressed('s'): default_speaker = sc.default_speaker() samples, samplerate = sf.read('Sounds\Agressive_II.wav') default_speaker.play(samples, samplerate=samplerate) elif kb.is_pressed('m'): default_speaker = sc.default_speaker() samples, samplerate = sf.read('Sounds\Agressive_MagkiyZnak.wav') default_speaker.play(samples, samplerate=samplerate) elif kb.is_pressed('['): default_speaker = sc.default_speaker() samples, samplerate = sf.read('Sounds\Agressive_H.wav') default_speaker.play(samples, samplerate=samplerate) elif kb.is_pressed('"'): default_speaker = sc.default_speaker() samples, samplerate = sf.read('Sounds\Agressive_EIO.wav') default_speaker.play(samples, samplerate=samplerate) elif kb.is_pressed('z'): default_speaker = sc.default_speaker() samples, samplerate = sf.read('Sounds\Agressive_IA.wav') default_speaker.play(samples, samplerate=samplerate) elif kb.is_pressed('.'): default_speaker = sc.default_speaker() samples, samplerate = sf.read('Sounds\Agressive_IU.wav') default_speaker.play(samples, samplerate=samplerate) class My_Application(wx.Frame): # ---------------------------------------------------------------------- def __init__(self): wx.Frame.__init__(self, None, wx.ID_ANY, "", size=(1, 1)) panel = wx.Panel(self) self.myapp = TaskBarIcon(self) self.Bind(wx.EVT_CLOSE, self.onClose) # ---------------------------------------------------------------------- def onClose(self, evt): """ Destroy the taskbar icon and the frame """ self.myapp.RemoveIcon() self.myapp.Destroy() self.Destroy() if __name__ == "__main__": MyApp = wx.App() My_Application() MyApp.MainLoop()
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:
Как запустить сервер и бот в Pycharm одновременно
Здравствуйте. Изучаю Django. Столкнулся с проблемой. У меня в одном проекте и сайт, и бот. Сайт.
Как запустить две подпрограммы одновременно
Помогите пожалуйста. Написал не большую программку типа игра как запустить две подпрограммы.
Как запустить две формы одновременно
Здравтсвуйте, у меня есть две формы, первая запускается автоматически, вторая запускается при.
Как выполнить две функции одновременно на Ява?
Сильно ошибся с разделом форума. Приношу свои извинения. Просто рабочий день уже кончается и я.
702 / 348 / 104
Регистрация: 09.02.2018
Сообщений: 789
Пора мне покупать очки. В упор не вижу функции on_stop.
Регистрация: 17.03.2021
Сообщений: 8
Упс, старая версия кода. Секундочку.
Добавлено через 4 минуты
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231
import keyboard as kb import soundfile as sf import soundcard as sc import wx import wx.adv isWorking = 0 TRAY_TOOLTIP = 'Voice keyboard' TRAY_ICON = 'icon.png' KeyBind = 'F9' StopKeyBind = 'F10' def create_menu_item(menu, label, func): item = wx.MenuItem(menu, -1, label) menu.Bind(wx.EVT_MENU, func, id=item.GetId()) menu.Append(item) return item class TaskBarIcon(wx.adv.TaskBarIcon): def __init__(self, frame): wx.adv.TaskBarIcon.__init__(self) self.myapp_frame = frame self.set_icon(TRAY_ICON) self.Bind(wx.adv.EVT_TASKBAR_LEFT_DOWN, self.on_left_down) def CreatePopupMenu(self): menu = wx.Menu() create_menu_item(menu, 'Say Hello', self.on_hello) menu.AppendSeparator() create_menu_item(menu, 'Exit', self.on_exit) create_menu_item(menu, 'Start ('+KeyBind+')', self.on_start) create_menu_item(menu, 'Stop ('+StopKeyBind+')', self.on_stop) return menu def set_icon(self, path): icon = wx.Icon(wx.Bitmap(path)) self.SetIcon(icon, TRAY_TOOLTIP) def on_left_down(self, event): print('Tray icon was left-clicked.') def on_hello(self, event): print('Hello, world!') def on_exit(self, event): self.myapp_frame.Close() def on_start(self, event): isWorking = 1 while isWorking = 1: if kb.is_pressed('f'): default_speaker = sc.default_speaker() samples, samplerate = sf.read('Sounds\Agressive_A.wav') default_speaker.play(samples, samplerate=samplerate) elif kb.is_pressed(','): default_speaker = sc.default_speaker() samples, samplerate = sf.read('Sounds\Agressive_B.wav') default_speaker.play(samples, samplerate=samplerate) elif kb.is_pressed('d'): default_speaker = sc.default_speaker() samples, samplerate = sf.read('Sounds\Agressive_V.wav') default_speaker.play(samples, samplerate=samplerate) elif kb.is_pressed('u'): default_speaker = sc.default_speaker() samples, samplerate = sf.read('Sounds\Agressive_G.wav') default_speaker.play(samples, samplerate=samplerate) elif kb.is_pressed('l'): default_speaker = sc.default_speaker() samples, samplerate = sf.read('Sounds\Agressive_D.wav') default_speaker.play(samples, samplerate=samplerate) elif kb.is_pressed('t'): default_speaker = sc.default_speaker() samples, samplerate = sf.read('Sounds\Agressive_E.wav') default_speaker.play(samples, samplerate=samplerate) elif kb.is_pressed('`'): default_speaker = sc.default_speaker() samples, samplerate = sf.read('Sounds\Agressive_EO.wav') default_speaker.play(samples, samplerate=samplerate) elif kb.is_pressed(';'): default_speaker = sc.default_speaker() samples, samplerate = sf.read('Sounds\Agressive_J.wav') default_speaker.play(samples, samplerate=samplerate) elif kb.is_pressed('p'): default_speaker = sc.default_speaker() samples, samplerate = sf.read('Sounds\Agressive_Z.wav') default_speaker.play(samples, samplerate=samplerate) elif kb.is_pressed('b'): default_speaker = sc.default_speaker() samples, samplerate = sf.read('Sounds\Agressive_I.wav') default_speaker.play(samples, samplerate=samplerate) elif kb.is_pressed('q'): default_speaker = sc.default_speaker() samples, samplerate = sf.read('Sounds\Agressive_IO.wav') default_speaker.play(samples, samplerate=samplerate) elif kb.is_pressed('r'): default_speaker = sc.default_speaker() samples, samplerate = sf.read('Sounds\Agressive_K.wav') default_speaker.play(samples, samplerate=samplerate) elif kb.is_pressed('y'): default_speaker = sc.default_speaker() samples, samplerate = sf.read('Sounds\Agressive_N.wav') default_speaker.play(samples, samplerate=samplerate) elif kb.is_pressed('p'): default_speaker = sc.default_speaker() samples, samplerate = sf.read('Sounds\Agressive_Z.wav') default_speaker.play(samples, samplerate=samplerate) elif kb.is_pressed('b'): default_speaker = sc.default_speaker() samples, samplerate = sf.read('Sounds\Agressive_I.wav') default_speaker.play(samples, samplerate=samplerate) elif kb.is_pressed('q'): default_speaker = sc.default_speaker() samples, samplerate = sf.read('Sounds\Agressive_IO.wav') default_speaker.play(samples, samplerate=samplerate) elif kb.is_pressed('r'): default_speaker = sc.default_speaker() samples, samplerate = sf.read('Sounds\Agressive_K.wav') default_speaker.play(samples, samplerate=samplerate) elif kb.is_pressed('k'): default_speaker = sc.default_speaker() samples, samplerate = sf.read('Sounds\Agressive_L.wav') default_speaker.play(samples, samplerate=samplerate) elif kb.is_pressed('v'): default_speaker = sc.default_speaker() samples, samplerate = sf.read('Sounds\Agressive_M.wav') default_speaker.play(samples, samplerate=samplerate) elif kb.is_pressed('y'): default_speaker = sc.default_speaker() samples, samplerate = sf.read('Sounds\Agressive_N.wav') default_speaker.play(samples, samplerate=samplerate) elif kb.is_pressed('j'): default_speaker = sc.default_speaker() samples, samplerate = sf.read('Sounds\Agressive_O.wav') default_speaker.play(samples, samplerate=samplerate) elif kb.is_pressed('g'): default_speaker = sc.default_speaker() samples, samplerate = sf.read('Sounds\Agressive_P.wav') default_speaker.play(samples, samplerate=samplerate) elif kb.is_pressed('h'): default_speaker = sc.default_speaker() samples, samplerate = sf.read('Sounds\Agressive_R.wav') default_speaker.play(samples, samplerate=samplerate) elif kb.is_pressed('c'): default_speaker = sc.default_speaker() samples, samplerate = sf.read('Sounds\Agressive_S.wav') default_speaker.play(samples, samplerate=samplerate) elif kb.is_pressed('n'): default_speaker = sc.default_speaker() samples, samplerate = sf.read('Sounds\Agressive_T.wav') default_speaker.play(samples, samplerate=samplerate) elif kb.is_pressed('e'): default_speaker = sc.default_speaker() samples, samplerate = sf.read('Sounds\Agressive_U.wav') default_speaker.play(samples, samplerate=samplerate) elif kb.is_pressed('a'): default_speaker = sc.default_speaker() samples, samplerate = sf.read('Sounds\Agressive_F.wav') default_speaker.play(samples, samplerate=samplerate) elif kb.is_pressed('s'): default_speaker = sc.default_speaker() samples, samplerate = sf.read('Sounds\Agressive_H.wav') default_speaker.play(samples, samplerate=samplerate) elif kb.is_pressed('w'): default_speaker = sc.default_speaker() samples, samplerate = sf.read('Sounds\Agressive_TS.wav') default_speaker.play(samples, samplerate=samplerate) elif kb.is_pressed('x'): default_speaker = sc.default_speaker() samples, samplerate = sf.read('Sounds\Agressive_CH.wav') default_speaker.play(samples, samplerate=samplerate) elif kb.is_pressed('i'): default_speaker = sc.default_speaker() samples, samplerate = sf.read('Sounds\Agressive_sh.wav') default_speaker.play(samples, samplerate=samplerate) elif kb.is_pressed('o'): default_speaker = sc.default_speaker() samples, samplerate = sf.read('Sounds\Agressive_SHZ.wav') default_speaker.play(samples, samplerate=samplerate) elif kb.is_pressed(']'): default_speaker = sc.default_speaker() samples, samplerate = sf.read('Sounds\Agressive_TverdiyZnak.wav') default_speaker.play(samples, samplerate=samplerate) elif kb.is_pressed('s'): default_speaker = sc.default_speaker() samples, samplerate = sf.read('Sounds\Agressive_II.wav') default_speaker.play(samples, samplerate=samplerate) elif kb.is_pressed('m'): default_speaker = sc.default_speaker() samples, samplerate = sf.read('Sounds\Agressive_MagkiyZnak.wav') default_speaker.play(samples, samplerate=samplerate) elif kb.is_pressed('['): default_speaker = sc.default_speaker() samples, samplerate = sf.read('Sounds\Agressive_H.wav') default_speaker.play(samples, samplerate=samplerate) elif kb.is_pressed('"'): default_speaker = sc.default_speaker() samples, samplerate = sf.read('Sounds\Agressive_EIO.wav') default_speaker.play(samples, samplerate=samplerate) elif kb.is_pressed('z'): default_speaker = sc.default_speaker() samples, samplerate = sf.read('Sounds\Agressive_IA.wav') default_speaker.play(samples, samplerate=samplerate) elif kb.is_pressed('.'): default_speaker = sc.default_speaker() samples, samplerate = sf.read('Sounds\Agressive_IU.wav') default_speaker.play(samples, samplerate=samplerate) def on_stop(self, event): isWorking = 0 class My_Application(wx.Frame): # ---------------------------------------------------------------------- def __init__(self): wx.Frame.__init__(self, None, wx.ID_ANY, "", size=(1, 1)) panel = wx.Panel(self) self.myapp = TaskBarIcon(self) self.Bind(wx.EVT_CLOSE, self.onClose) # ---------------------------------------------------------------------- def onClose(self, evt): """ Destroy the taskbar icon and the frame """ self.myapp.RemoveIcon() self.myapp.Destroy() self.Destroy() if __name__ == "__main__": MyApp = wx.App() My_Application() MyApp.MainLoop()