我知道 Heroku dynos 是短暂的,文件不能在请求之间存储。我有一个 Flask 应用程序,它应该从 Spotify 获取 MP3,将其传递给 LibROSA 进行分析,然后返回可视化。
我有一个在本地工作的脚本,可以使用 下载文件urllib.urlopen,将其保存到文件中,然后使用librosa.load. 但是,我似乎无法从 Heroku 上的文件系统加载文件。当我不控制文件系统时,如何加载下载的文件?
song_url = "https://p.scdn.co/mp3-preview/8e29d103eba74b5cef8600722fff3c491e37fc9a.mp3"
sample_30s = urlopen(song_url)
mp3_path = os.path.join(os.path.dirname(__file__), 'static/data/temp.mp3')
output = open(mp3_path, 'wb')
output.write(sample_30s.read())
y, sr = librosa.load(mp3_filepath)