带计时器和字符串替换的 Python 请求

标签 python json python-requests

我正在使用一个可以获取数据的 API。我试图从数据输出中获取特定部分,以便我可以将其很好地放置在格式化文本中。 我想每 5 秒获取一次数据,这样我就能获得新鲜的信息。我不希望在第一次运行的输出下方提示数据,而是将当前值替换为更新值。 由于我对python很不好,希望有人能给我一些建议。

import requests
import threading

def dostuff()
      threading.Timer(5.0, dostuff).start()
      r = requests.get('https://api')
      data = r.json()
      print("Amount:", data['amount'])
      print("Games played:", data['matches'])

dostuff()

这很好用。它只是不断地将输出发布在彼此之下。 我希望所有东西都是静态的,除了 data['amount'] 和 data['matches'] ,它们应该不断更新,而不实际将其发布到换行符上。我尝试通过清除屏幕来解决此问题,但这不是所需的解决方案。

最佳答案

只需将 end='\r' 添加到您的打印语句中即可:

import requests
import threading
import random

def dostuff():
      threading.Timer(1.0, dostuff).start()
      # replaced as actual api not posted
      data = {
        'amount': round(random.random(), 2),
        "matches": round(random.random(), 2)
      }
      print("Amount: {} Games played: {}".format(
        data['amount'], 
        data['matches']
      ), end='\r')

dostuff()

关于带计时器和字符串替换的 Python 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55629997/

相关文章:

java - 关于使用Gson反序列化Json的问题

python - 如何使用 Python 从 FTP 服务器上抓取文本?

python - 为什么我的 SurveyMonkey API 获取请求收到 403 错误响应?

python - 基于列表从数据框中提取值作为字典

python - 在numpy数组中查找类型转换失败的索引

python - 将 eventlet 与 SQLAlchemy 一起使用

java - 使用 JSONReader 或 JSONObject/JSONArray 解析 JSON 数据

php - jQuery 解析/显示来自 php json_encode 的 json 数据

python - 以编程方式更新 Zapier 存储

python - 如何使用 Pandas 处理行对并在没有字典的情况下保留 ID 列?