Без подробностей о том, что именно не работает, сложно дать исчерпывающий ответ. Но одна вещь, которая обязательно должна измениться, это то, где вы определяете t
и s
. Как пишет @Pygirl в своем комментарии, вам нужно определить их глобально:
import requests
import pandas as pd
import time
from bottle import route, run
t = ''
s = ''
def timer(n):
while True:
url2 = 'https://api.bittrex.com/api/v1.1/public/getticker?market=USDT-BTC'
res = requests.get(url2).json()
BTC = pd.json_normalize(res['result'])
# Must declare t and s as globals since you're changing their referents.
global t
global s
t = time.ctime()
s = BTC.to_html(index=False)
time.sleep(n)
timer(5)
@route('/')
def index():
return '{}: {}'.format(t, s)
run(host='localhost', port=8080)
Альтернативой их глобальному определению является создание диктанта верхнего уровня с двумя элементами в нем (t
и s
) и просто измените эти элементы по мере необходимости; в этом случае global
не требуется.