TGViewer
About Python [ru] About Python [ru] @python_tesst · 6.42K subscribers
Post #1418 1.03K
👩‍💻 Задачка по Python

Создайте Python-скрипт, который кэширует данные с внешнего API, сохраняя их на определенное время. Когда срок кэша истекает, данные должны автоматически обновляться при следующем запросе.

➡️ Пример:

• python app.py fetch — получает данные из кэша, а если кэш истек, то заново запрашивает данные и обновляет кэш.

Решение задачи ⬇️

import time
import json
import requests
from pathlib import Path

CACHE_FILE = Path("cache.json")
CACHE_TTL = 60 # время жизни кэша в секундах

def update_cache():
data = requests.get("
https://api.example.com/data").json()
cache_data = {"data": data, "timestamp": time.time()}
with open(CACHE_FILE, "w") as file:
json.dump(cache_data, file)
return data

def fetch_data():
if CACHE_FILE.exists():
with open(CACHE_FILE, "r") as file:
cache = json.load(file)
if time.time() - cache["timestamp"] < CACHE_TTL:
print("Данные из кэша:", cache["data"])
return cache["data"]

print("Обновление кэша...")
return update_cache()

# Запрос кэшированных данных
fetch_data()
More from @python_tesst
  1. Oct 10, 2026Python 3.15 на проде: ленивые импорты, frozendict, UTF-8 из коробки и JIT, который наконец…
  2. Oct 9, 2026Haiku 5.5 — коротко по делу В среднем один запуск выходит на 75% дешевле, чем у Haiku 4.5.…
  3. Oct 8, 202650 промптов для ChatGPT, после которых толстенный PDF или статья вовсе не обязательно чита…
  4. Oct 8, 2026Сидишь такой, готовишь стартап на 500M$+, а лимиты сдохли уже на втором запросе. 👉 About…
  5. Oct 7, 2026Python в Cloudflare Workers: всё, теперь по-взрослому — GA Cloudflare перестала держать Py…
  6. Oct 7, 2026PyCoder’s Weekly #755 — 6 октября 2026 Python 3.15.0rc3: в новых фичах lazy loading что-то…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →