我正在使用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']除外,它们应该不断更新,而不必实际在换行符上发布。我试图通过清除屏幕来解决此问题,但这不是所需的解决方案。
答案 0 :(得分:0)
只需在您的打印对帐单中添加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()