Я создаю небольшую программу, которая извлекает цитаты определенного исполнителя, а затем публикует случайную строку из их случайной песни в Twitter.Мне до сих пор удавалось вытащить текст, получить случайную строку из случайной песни, но она всегда публиковала одинаковую лирику.Я понимаю, почему это происходит, потому что это не только циклически повторяет один и тот же вывод ранее.Не могли бы вы порекомендовать, как я могу получить цикл для создания новой песни, а затем новую случайную лирику каждый раз, когда она повторяется?Я пытался вызвать функцию 'lyricsimport' в цикле, но безрезультатно
Я новичок в Python. Пожалуйста, при необходимости сообщайте о любых улучшениях - заранее спасибо
Вот мой кодпока ...
# Import Twitter credentials from credentials.py
import random
from tswift import Artist
import tweepy
from time import sleep
from credentials import *
# Access and authorize our Twitter credentials from credentials.py
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)
api = tweepy.API(auth)
#get lyrics from tswift and save to text file
def lyricsimport():
tswift = Artist('Frank Ocean')
song = random.choice(tswift.songs)
savefile = open('ocean.txt', 'w')
savefile.write(song.format())
savefile.close()
# Open text file ocean.txt (or your chosen file) for reading and select random lyric
with open('ocean.txt') as f:
my_file = f.readlines()
file_lines = random.choice(my_file)
# Tweet a line every 10 seconds (will change post-testing)
def tweet():
# Create a for loop to iterate over file_lines
for line in file_lines:
try:
print(file_lines)
#if statement to ensure that blank lines are skipped
if line != '\n':
api.update_status(file_lines)
sleep(10)
else:
pass
except tweepy.TweepError as e:
print(e.reason)
sleep(2)
tweet()