Я разрабатываю IRC-бота Twitch, используя Python, и недавно реализовал запросы на песни. Как ни странно, основная проблема, на которой я застрял, это хранение песен в отдельном текстовом файле, списке или наборе. В настоящее время я получаю песни для списка следующим образом:
- Пользователь вводит !songrequest [URL].
- Бот обрабатывает URL и извлекает из него название песни.
- Бот отправляет подтверждающее сообщение и сохраняет название песни в переменной.
Итак, из-за того, что все названия песен хранятся в одной и той же переменной, она постоянно перезаписывает себя, даже если помещается в набор. Я новичок в Python, поэтому, если бы кто-нибудь мог мне помочь и рассказать, как я могу отправить каждое уникальное название песни в набор, список и т. Д., Я был бы очень рад! Заранее спасибо!
Мой код:
if message.startswith("!songrequest"):
request = message.split(' ')[1]
youtube = etree.HTML(urllib.urlopen(request).read())
video_title = youtube.xpath("//span[@id='eow-title']/@title")
song = ''.join(video_title)
requests = set()
requests.add(song + "\r\n")
sendMessage(s, song + " has been added to the queue.")
with open("requests.txt", "w") as text_file:
text_file.write(str(requests))
break
Если вы найдете какие-либо другие предложения по очистке моего кода, пожалуйста, сообщите мне их ниже!
self.requests = set()
в методе__init__
, а затем сделатьself.requests.add
в своем коде. - person tzaman   schedule 20.02.2016