带有计时器和字符串替换的Python请求[重复]

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了带有计时器和字符串替换的Python请求[重复]相关的知识,希望对你有一定的参考价值。

这个问题在这里已有答案:

我正在使用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()

这很好用。它只是不断地将输出发布在彼此之下。我希望所有内容都是静态的,除了数据['amount']和数据['matches'],它应该保持更新而不实际在新行上发布。我已经尝试通过清除屏幕来解决这个问题,但这不是理想的解决方案。

答案

只需将end=' '添加到您的print语句中:

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='
')

dostuff()

以上是关于带有计时器和字符串替换的Python请求[重复]的主要内容,如果未能解决你的问题,请参考以下文章

警告:根:某些字符无法解码,并被替换为替换字符。带有请求和 Beastuifulsoup

为啥我们在尝试用另一个字符串替换它时使用带有“\”的@ [重复]

带有异步计时器的 Python 异步 websocket 客户端

python中的多个字符替换字符串不适用于管道[重复]

带有标志的 Python re.sub 不会替换所有出现

js节流和防抖