Latest posts on таймер topichttp://python.su/forum/topic/3657/2009-01-27T07:58:15+02:00Общий :: Python для новичков :: таймер
2009-01-27T07:58:15+02:00Dimka66523736<blockquote><em>igor.kaist</em><br/><div class="code"><pre>s={<br/> '1':'text1',<br/> '2':'text2'<br/> }<br/>if norr in s.keys():<br/> sendm(s[norr])<br/>else:<br/> sendm('not found')</pre></div>Это будет лучше, вместо бесконечных elif</blockquote>а еще лучше<br/><div class="code"><pre>sendms(s.get(norr, 'not found'))</pre></div>
Общий :: Python для новичков :: таймер
2009-01-26T15:00:28+02:00igor.kaist23719Совместно то зачем? Если ты умеешь работать с urllib2 и re, то в чем проблема?<br/>Второй пример это который?<br/><br/><br/>P.S. Советую для начала почитать какую нибудь литературу по питону, чтоб знать основы.<br/><br/>Добавлено:<br/>Отредактировал пример, добавил коммментарии
Общий :: Python для новичков :: таймер
2009-01-26T14:53:57+02:00armagidon23718igor.kaist большое спасибо , а во у тебя нет не каких примеров с модлуeм re и urllib2 как-бы совместно re и urllib2<br/><br/>хмм чего-то я не понел где ты мне дал второй пример с песнями<br/><br/>и надо что-бы просто не по команде каждых 3 мин выводилась бы песня и + песни с радио =) просто друг держит радио
Общий :: Python для новичков :: таймер
2009-01-26T14:48:14+02:00igor.kaist23717Ну все верно. Поступила команда, через 10 секунд она выполнилась.<br/>Тебе больше подойдет это.<br/><div class="code"><pre>import thread,time<br/><br/>def song():<br/> while 1: # бесконечный цикл<br/> #вот сюда вставь нужный тебе код, который должен выполнятья раз в 10 секунд<br/> time.sleep(10) # делаем паузу 10 секунд<br/># запускаем функцию song в отдельном потоке<br/>thread.start_mew_thread(song,())</pre></div>Главное чтоб эта переключалка песен вместе со слипом запускалась в отдельном потоке и еще совет<br/><div class="code"><pre>s={<br/> '1':'text1',<br/> '2':'text2'<br/> }<br/>if norr in s.keys():<br/> sendm(s[norr])<br/>else:<br/> sendm('not found')</pre></div>Это будет лучше, вместо бесконечных elif
Общий :: Python для новичков :: таймер
2009-01-26T14:38:48+02:00armagidon23716igor.kaist поставил твой скрипт ну может я не так чтонибудь впихнул просто не каждых 10 сек пишется песня посмотри плз =)<br/><div class="code"><pre># -*- coding: cp1251 -*- <br/><br/>import socket <br/>import time <br/>import httplib<br/>from datetime import date<br/>import winamp<br/>import threading<br/><br/>host='irc.lv'<br/>channel=''<br/>password=''<br/>nicks=''<br/><br/>def winamps():<br/> sendm('[+] Larocca Play :'+ str(wins.getCurrentTrackName()))<br/><br/> <br/>def tpars(txt):<br/> q=txt.split('<span class="temp">') [1]<br/> temp=q.split(' C') [0]<br/> qq=txt.split('<span>') [1]<br/> wind=qq.split('</span>') [0]<br/> return temp, wind<br/> <br/>def sendm(msg): <br/> irc.send('PRIVMSG '+ channel + ' :' + str(msg) + '\r\n')<br/><br/>irc = socket.socket(socket.AF_INET, socket.SOCK_STREAM) <br/>irc.connect((host, 6667)) <br/><br/>irc.send('USER py host servname : Python Bot\r\n') <br/>irc.send('NICK '+ str(nicks) +'\r\n')<br/><br/>while 1:<br/> text=irc.recv(2040)<br/> if not text:<br/> break<br/> <br/> if text.find('Message of the Day') != -1:<br/> irc.send('JOIN '+ channel +'\r\n')<br/><br/> if text.find('+iwR') != -1:<br/> irc.send('NS IDENTIFY '+ str(password) +'\r\n')<br/> <br/> if text.find('PING') != -1: <br/> irc.send('PONG ' + text.split() [1] + '\r\n')<br/><br/> if text.find('armagidon!~null@armaggidon.ru PRIVMSG #DragStyle^ :!quit') != -1: <br/> irc.send('QUIT :python bot\r\n')<br/> <br/> if text.find(':KICK') != 1:<br/> irc.send('JOIN '+ channel +'\r\n')<br/><br/> if text.find(':!date') != -1:<br/> sendm('[+] Date: '+ time.strftime("%a, %b %d, %y", time.localtime()))<br/><br/> if text.find(':!time') != -1:<br/> sendm('[+] Time: '+ time.strftime("%H:%M:%S", time.localtime()))<br/><br/> if text.find(':!weather') != -1:<br/> tmp = text.split(':!weather')<br/> city = tmp[1].strip()<br/> reqest_str = '/laika_zinas/?city=' + city<br/> c = httplib.HTTPConnection("www.1188.lv")<br/> c.request("GET", reqest_str)<br/> ra = c.getresponse()<br/> datas = ra.read()<br/> temp, wind = tpars(datas)<br/> sendm('[+] Temp: '+ temp +' C | Wind: '+ wind +' m/s')<br/> c.close()<br/><br/> if text.find(':!irclv') != -1:<br/> tmps = text.split(':!irclv')<br/> irclvs = tmps[1].strip()<br/> if len(irclvs) < 1:<br/> sendm('[+] Error ! Wrote !irclv nick')<br/> else:<br/> website = 'http://irc.lv/?nick=' + irclvs<br/> sendm('[+] Home: '+ website)<br/> sendm('[+] Perl: http://irc.lv/perl?nick=' + irclvs)<br/> sendm('[+] Blog: http://irc.lv/blogs?nick=' + irclvs)<br/><br/> if text.find(':!say') != -1:<br/> says = text.split(':!say')<br/> sayse = says[1].strip()<br/> sendm('.:: '+ str(sayse) +' ::.')<br/> <br/> if text.find(':!join') != -1:<br/> joins = text.split(':!join')<br/> das = joins[1].strip()<br/> irc.send('JOIN '+ str(das) +'\r\n')<br/><br/> if text.find(':!nick') != -1:<br/> nickname = text.split(':!nick')<br/> if len(nickname) < 2:<br/> pass<br/> else:<br/> nicknames = nickname[1].strip()<br/> irc.send('NICK '+ str(nicknames) +'\r\n')<br/> <br/> if text.find(':!dns') != -1:<br/> dns = text.split(':!dns')<br/> dnsf = dns[1].strip()<br/> dnserv = socket.gethostbyaddr(dnsf)<br/> sendm('[+] DNS : '+ str(dnserv))<br/><br/> if text.find(':!part') != -1:<br/> part = text.split(':!part')<br/> parts = part[1].strip()<br/> irc.send('PART '+ str(parts) +'\r\n')<br/><br/> if text.find(':!voice') != -1:<br/> voice = text.split(':!voice')<br/> voices = voice[1].strip()<br/> irc.send('MODE '+ str(channel) +' +v '+ str(voices) +'\r\n')<br/><br/> if text.find(':!devoice') != -1:<br/> devoice = text.split(':!devoice')<br/> devoices = devoice[1].strip()<br/> irc.send('MODE '+ str(channel) +' -v '+ str(devoices) +'\r\n')<br/><br/> if text.find(':@CO') != -1:<br/> co = text.split(':@CO')<br/> cos = co[1].strip()<br/> sendm('(-(--)-) '+ str(cos) +' Sha Ibalo Razibu Cibe @.@ (P@UKI SCRIPT)')<br/><br/> if text.find(':@PAIBALU') != -1:<br/> pai = text.split(':@PAIBALU')<br/> paib = pai[1].strip()<br/> irc.send('PRIVMSG '+ str(paib) +' :(-(--)-) Sha Ibalo Razibu Cibe @.@ (P@UKI SCRIPT)\r\n')<br/><br/> if text.find(':!wiki') != -1:<br/> wiki = text.split(':!wiki')<br/> wikis = wiki[1].strip()<br/> if len(wikis) < 1:<br/> sendm('[+] Error ! Wrote Name ! Example : !wiki Windows')<br/> else:<br/> sendm('[+] Wiki : http://ru.wikipedia.org/wiki/'+ str(wikis))<br/><br/> if text.find(':!topic') != -1:<br/> topi = text.split(':!topic')<br/> topic = topi[1].strip()<br/> irc.send('TOPIC #DragStyle^ :'+ str(topic) +'\r\n')<br/> if topic == topic:<br/> sendm('[+] Topic change')<br/><br/> if text.find(':!image') != -1:<br/> image = text.split(':!image')<br/> images = image[1].strip()<br/> if len(images) < 1:<br/> sendm('[+] Error ! Wrote : !image world')<br/> else:<br/> sendm('[+] images url : http://images.google.lv/images?um=1&hl=ru&q='+ images +'&btnG')<br/><br/> if text.find(':!newyear') != -1:<br/> now = date.today()<br/> newyear = date(2008, 12, 31)<br/> cik = now - newyear<br/> newyears = cik.days<br/> sendm('[+] До Нового Года осталось :'+ str(newyears) +' дней =)')<br/><br/> if text.find(':!help') != -1:<br/> hel = text.split(':!help')<br/> helps = hel[1].strip()<br/> if len(helps) < 1:<br/> sendm('[+] Error ! Wrote : !help nick ')<br/> else:<br/> irc.send('PRIVMSG '+ helps +' : !time, !date, !wiki, !weather, !norris, !rasha, !irclv, !image, !dns, !newyear\r\n')<br/><br/> if text.find(':!larocca') != -1:<br/> wins=winamp.winamp()<br/> sendm('[+] Larocca Play :'+ wins.getCurrentTrackName())<br/> t=threading.Timer(10.0, winamps)<br/> t.start()<br/> <br/> <br/> if text.find(':!norris') != -1:<br/> norris = text.split(':!norris')<br/> norr = norris[1].strip()<br/> if norr == '1':<br/> sendm('1. Слёзы Чака Норриса лечат рак. К сожалению, он никогда не плачет. Вообще.')<br/> elif norr == '2':<br/> sendm('2. Чак Норрис досчитал до бесконечности. Дважды.')<br/> elif norr == '3':<br/> sendm('3. На последней странице Книги Рекордов Гиннесса мелким шрифтом указано, что все мировые рекорды принадлежат Чаку Норрису, а в книге просто перечислены те люди, которым удалось максимально к ним приблизиться.')<br/> elif norr == '4':<br/> sendm('4. Если у вас есть 5 долларов и у Чака Норриса есть 5 долларов, то у Чака Норриса больше денег, чем у вас.')<br/> elif norr == '5':<br/> sendm('5. Чак Норрис может убить двух охотников одним зайцем.')<br/> elif norr == '6':<br/> sendm('6. Самые распространённые причины смерти в США: 1) сердечно-сосудистые заболевания, 2) Чак Норрис, 3) раковые опухоли.')<br/> elif norr == '7':<br/> sendm('7. У большинства людей 23 пары хромосом. У Чака Норриса - 72… и все они ядовиты.')<br/> elif norr == '8':<br/> sendm('8. Чак Норрис может выиграть в крестики-нолики за один ход.')<br/> elif norr == '9':<br/> sendm('9. Полицейский код для нападавших на Чака Норриса - 45-11: самоубийство.')<br/> elif norr == '10':<br/> sendm('10. Чак Норрис не стирает одежду - он вытряхивает из неё грязь.')<br/> elif norr == '11':<br/> sendm('11. Третий закон Ньютона ошибочен: он гласит, что для каждого действия есть противодействие, но ничто в мире не может составить противодействие круговому удару Чака Норриса.')<br/> elif norr == '12':<br/> sendm('12. Когда Чак Норрис говорит, все молча слушают. А потом умирают.')<br/> elif norr == '13':<br/> sendm('13. Чак Норрис изобрёл чёрный цвет. Вообще-то он изобрёл все цвета, кроме розового. Розовый цвет изобрёл Том Круз.')<br/> elif norr == '14':<br/> sendm('14. На каждый свой день рождения Чак Норрис выбирает первого попавшегося ребёнка и пинком отправляет его на Солнце.')<br/> elif norr == '15':<br/> sendm('15. Чак Норрис размалывает кофе пальцем, а потом кипятит воду своим гневом.')<br/> elif norr == '16':<br/> sendm('16. Археологи обнаружили старый английский толковый словарь, написанный в 1236 г. В нём слово “жертва” объясняется как “человек, ставший на пути Чака Норриса”.')<br/> elif norr == '17':<br/> sendm('17. Бермудский треугольник был квадратом, пока Чак Норрис не сломал один угол своим круговым ударом ногой.')<br/> elif norr == '18':<br/> sendm('18. Чак Норрис играл в русскую рулетку с полностью заряженным револьвером, и выиграл.')<br/> elif norr == '19':<br/> sendm('19. Вообще-то Чак Норрис не убивает людей своим круговым ударом ногой. На самом деле эти люди оказываются никогда не существовавшими в нашем пространственно-временном континууме.')<br/> elif norr == '20':<br/> sendm('20. Супермен однажды посмотрел одну серию “Крутого Уокера”. После этого он с трудом заснул и несколько раз просыпался весь в слезах.')<br/> elif norr == '21':<br/> sendm('21. Никакого глобального потепления не существует. Просто однажды Чаку Норрису стало холодно, и он подогрел Солнце.')<br/> elif norr == '22':<br/> sendm('22. Легенда не врёт - Чак Норрис действительно построил Рим за один день.')<br/> elif norr == '23':<br/> sendm('23. Чак Норрис - единственный человек в мире, который может ударить кого-то круговым ударом ногой по электронной почте.')<br/> elif norr == '24':<br/> sendm('24. Чак Норрис может сжечь муравья с помощью увеличительного стекла. Ночью.')<br/> elif norr == '25':<br/> sendm('25. Чак Норрис может вызывать не только страх, но и надежду - на то, что он не ударит вас.')<br/> elif norr > '25':<br/> sendm('[+] No Anekdotes')<br/> else:<br/> sendm('[+] Chuck Norris Anekdots wrote : !norris 1 - 25')<br/><br/> if text.find(':!rasha') != -1:<br/> rasha = text.split(':!rasha')<br/> rash = rasha[1].strip()<br/> if rash == '1':<br/> sendm('1. Челябинские мужики настолько суровые, что не пьют кофе, а жрут его ложкой из банки')<br/> elif rash == '2':<br/> sendm('2. Челябинские наркоманы настолько суровые что вместо уколов ставят себе капельницу')<br/> elif rash == '3':<br/> sendm('3. Челябинские коммунисты на столько суровые, что отмечают День рождения Ленина каждый день!')<br/> elif rash == '4':<br/> sendm('4. Челябинские хоккеисты настолько суровые, что играют ломами')<br/> elif rash == '5':<br/> sendm('5. Челябинские школьники на столько суровые, что не курят на переменах, они жуют сигареты прямо на уроках')<br/> elif rash == '6':<br/> sendm('6. Челябинские женщины настолько суровые, что пользуются вместо тампонов камышами')<br/> elif rash == '7':<br/> sendm('7. Челябинские младенцы настолько суровые, что жрут яблоки не дожидаясь первых зубов')<br/> elif rash == '8':<br/> sendm('8. Челябинское пиво настолько сурово, что превышает по крепости медицинский спирт')<br/> elif rash == '9':<br/> sendm('9. Челябинские дятлы настолько суровы, что выдолбили 2 станции метро')<br/> elif rash == '10':<br/> sendm('10. Челябинские велосипедисты на столько суровые, что никогда не переключаются с передачи 3/8')<br/> elif rash == '11':<br/> sendm('11. Челябинские зоофилы настолько суровы, что трахают даже плюшевых мишек')<br/> elif rash == '12':<br/> sendm('12. Челябинские мужики настолько суровы, что вытирают жопу наждачной бумагой')<br/> elif rash == '13':<br/> sendm('13. Челябинские мужики настолько суровые, что прибивают к деревьям не скворечники, а собачьи будки')<br/> elif rash == '14':<br/> sendm('14. Челябинские киллеры настолько суровы, что делают 10 контрольных выстрелов')<br/> elif rash == '15':<br/> sendm('15. Челябинские миньетчицы настолько суровые, что у челябинских мужиков простыни всасываются в задницу')<br/> elif rash == '16':<br/> sendm('16. Челябинские мужчины настолько суровы, что бреются фрезерными станками')<br/> elif rash == '17':<br/> sendm('17. Челябинские комбайнеры настолько суровые, что косят лес')<br/> elif rash == '18':<br/> sendm('18. Челябинские космонавты настолько суровы, что выходят в открытый космос поссать')<br/> elif rash == '19':<br/> sendm('19. Челябинские бабки настолько суровы, что им в автобусе уступает место даже водитель')<br/> elif rash == '20':<br/> sendm('20. Челябинская порнуха настолько сурова, что ее запретили в Германии')<br/> elif rash == '21':<br/> sendm('21. Челябинские родители настолько суровы, что заставляют детей смотреть телепузиков до 18 лет')<br/> elif rash == '22':<br/> sendm('22. Челябинская трава настолько суровая, что на ха-ха пробивает даже соседа за стеной')<br/> elif rash == '23':<br/> sendm('23. Челябинские рэперы настока суровы, что ездят с выступлениями на корпоративы Куклусклана')<br/> elif rash == '24':<br/> sendm('24. Челябинская водка настолька сурова что ее запретили в 190 странах мира как ядерное оружие')<br/> elif rash == '25':<br/> sendm('25. Челябинские налогоплательщики настолько суровые, что в налоговой стоит автомат, выдающий деньги')<br/> elif rash == '26':<br/> sendm('26. Челябинские меломаны настолько суровые, что Сергей Шнуров на концертах в Челябинске не ругается матом')<br/> elif rash == '27':<br/> sendm('27.Челябинские мужики настолько суровы, что вместо вентилятора пользуются турбиной от самолета')<br/> elif rash == '28':<br/> sendm('28. Челябиснкие эмо настолько суровы что п*здят гопников')<br/> elif rash == '29':<br/> sendm('29. Челябинские флюгеры настолько суровы, что указывают направление ветру')<br/> elif rash == '30':<br/> sendm('30. Челябинские сатанисты настолько суровы, что Сатана боится приходить на их вызовы')<br/> elif rash == '31':<br/> sendm('31. Челябинские металлурги настолько суровы что подкуривают прямо от мартеновской печи')<br/> elif rash == '32':<br/> sendm('32. Челябинские почтальоны настолько суровы, что сами кусают всех собак за задницу')<br/> elif rash == '33':<br/> sendm('33. Челябинские фанаты настолько суровы, что обыграли сборную Японии по карате')<br/> elif rash == '34':<br/> sendm('34. Челябинские студенты настолько суровые, что военком сам от них бегает')<br/> elif rash == '35':<br/> sendm('35. Челябинские конфеты настолько суровы, что их запивают водкой')<br/> elif rash == '36':<br/> sendm('36. Челябинский цирк настолько суровый что в него продают билеты не на вход а на выход')<br/> elif rash == '37':<br/> sendm('37. Челябинские курильщики настолько суровые, что вместо обычных сигарет они курят трубы на заводе ЧТЗ')<br/> elif rash == '38':<br/> sendm('38. Челябинские путаны такие суровые, что клиенты отсасывают у себя сами...')<br/> elif rash > '38':<br/> sendm('[+] No Anekdots')<br/> else:<br/> sendm('[+] Наша Russia Anekdots wrote : !rasha 1-38')<br/> <br/> print '[GET]', text</pre></div>
Общий :: Python для новичков :: таймер
2009-01-26T14:32:26+02:00Yurietc23714sorry, не дочитал вопрос.
Общий :: Python для новичков :: таймер
2009-01-26T14:25:04+02:00armagidon23713igor.kaist прав =) тогда просто бот зависает =)
Общий :: Python для новичков :: таймер
2009-01-26T14:21:43+02:00igor.kaist23712<strong>Yurietc</strong> твой вариант я думаю не подойдет :) Таймер должен выполнятся в другом потоке. У топикстартера бот будет “висеть” и ждать 3 минуты, пока не закончится sleep.
Общий :: Python для новичков :: таймер
2009-01-26T14:14:31+02:00Yurietc23710<div class="code"><pre>>>> import time<br/>>>> for i in range(10):<br/>... print 'la-la-la'<br/>... time.sleep(3*60)</pre></div>
Общий :: Python для новичков :: таймер
2009-01-26T14:13:14+02:00igor.kaist23709Элементарно… google: ‘python timer’ <br/><div class="code"><pre>import threading<br/><br/>def go():<br/> print 'ok'<br/><br/>t = threading.Timer(10.0, go)<br/>t.start() <br/>print 'wait 10 s...'</pre></div>
Общий :: Python для новичков :: таймер
2009-01-26T13:58:12+02:00armagidon23706как можно написать скриптик например через каждых 3 мин будет выводиться песня из винампа на канал просто хочу в бота добавить сам модуль винампа и бот есть просто подсказали-бы как написать таймер =)