#python #function
#python #функция
Вопрос:
Итак, я создаю ранкер, который берет данные из Twitter. У меня возникла проблема, из-за которой я получаю сообщение об ошибке
NameError: name 'tweets' is not defined
Это мой код
while True:
sleep(120 - time() % 120)
def searchTwit():
tweets = api.search("#stocks" or "#daytrading",count=100)
return tweets
def getTicker(tweets):
for tweet in tweets:
if "$" in tweet.text:
x = tweet.text.split()
for i in x:
if i.startswith("$") and i[1].isalpha():
i.strip(".")
i.upper()
tickList.append(i)
# print(var_string)
def retrieveTickers():
for i in tickList:
cursor.execute('INSERT INTO master.dbo.TickerTable (TickerName) VALUES (?);', (i))
conn.commit()
# thing to run
searchTwit()
getTicker(tweets)
print("getting Tickers")
retrieveTickers()
print("sending tickers")
print(tickList)
tickList=[]
print(tickList)
Я не уверен, что все это должно быть в цикле while или нет, и я также не понимаю, почему я получаю эту ошибку, когда одна из моих функций возвращает «твиты».
Комментарии:
1.
tweets = searchTwit()
2. Когда вы
return
что-то делаете, вы не возвращаете имя переменной. Вы возвращаете его значение, поэтому вам все равно следует присвоить ему имя.3. Кстати, функции должны быть определены вне цикла
4. Хорошо, спасибо, ребята, раньше у меня были функции снаружи, но я запутался в этой ошибке