程序描述:我已经有一个在控制台窗口上运行的功能程序,但我想在本地托管的网页上显示其输出。该程序包括通过向 Spotify 的 API 发出请求来获取当前播放歌曲的歌词。我将当前歌词存储在“lyrics.txt”文件中。
我想要的是:
当检测到歌曲已更改时,从正在运行的歌词程序更改网页。
[编辑:]
有没有办法让 Flask 页面显示一个变量,该变量由歌词应用程序的 python request.post 更新到 Flask url,并以更新的变量作为数据?
我拥有的:
我使用 Flask 作为框架,因为它是一个本地网页。
import os, io
from flask import Flask, render_template
app = Flask(__name__)
@app.route("/")
def test():
'''reads the current lyrics file and passes it to the web page
manually reload the page to update lyrics'''
with io.open('lyrics.txt', 'r') as f:
HEAD = f.readline().strip("\n")
BODY = f.read().split('\n')
lyrics = {"HEAD": HEAD, "BODY": BODY}
return render_template("home.html", lyrics=lyrics)
if __name__ == "__main__":
app.run(debug=1)
Run Code Online (Sandbox Code Playgroud)
当函数被调用时,*args是一个元组,所以我必须先将每个参数附加到列表中.然后我通过将它们的值映射到float并使用sum()函数来求和它们.
这段代码没有任何错误,但我收到一条警告,说"未使用的变量i".
def function(*args):
x = []
y = 0
for i in range(len(args)):
x.append(args[y])
y += 1
x = list(map(float, x))
return sum(x)
Run Code Online (Sandbox Code Playgroud)
有没有办法以其他方式执行此操作,不使用"for i"循环并且更有效?