@app.post('token')
async def set_token() -> JSONResponse:
token = secrets.token_hex(32)
resp = JSONResponse(content={'new_token': token})
resp.set_cookie(key='x_token', value=token, secure=True)
return resp
@app.get('token')
async def get_token(x_token: str = Cookie()) -> JSONResponse:
return {'token': x_token}
import os
from threading import Thread
def listen(filename, count):
# запускаем в отдельном потоке команду
t = Thread(target=os.system, args=((f'ping -c {count} yandex.ru > {filename}'),))
t.start()
# ждем начала работы потока, после чего открываем файл
while not os.path.exists(filename):
pass
else:
f = open(filename, 'r')
i = 0
while i <= count:
data = f.read()
if data:
print(data)
i += 1
listen('out', 5)
modules
в стандартной библиотке sys
, а затем заново вызвать импорт. Либо можете использовать функцию reload
из модуля importlib
.import sys
import some_module
del sys.modules['some_module']
import some_module
from importlib import reload
import some_module
reload(some_module)