我有存储在Amazon S3中的mp3文件,我有一个带有名为Songs的表的MySQL数据库。我想运行一个Python脚本,通过转到Amazon S3来更新我的数据库,检索mp3文件的详细信息(例如使用ID3)然后填充我的数据库中的Songs表。我正在使用Django。有没有什么方法可以让我通过简单点击“更新库”按钮来运行这个脚本,例如通过Django管理面板?此外,是否可以按计划运行它?
P.S我是Django和Amazon S3的新手
修改: 我写了一个小脚本,用于从本地机器中的mp3文件中获取元标记。这是代码:
import eyeD3
import sys
import urllib
import os
class Track():
def __init__(self, audioFile):
self.title = audioFile.getTag().getTitle()
self.artist = audioFile.getTag().getArtist()
self.year = audioFile.getTag().getYear()
self.genre = audioFile.getTag().getGenre()
self.length = audioFile.getPlayTimeString()
self.album = audioFile.getTag().getAlbum()
def main():
for root, dirs, files in os.walk('.'):
for f in files:
if eyeD3.isMp3File(f):
audioFile = eyeD3.Mp3AudioFile(root+'/'+f)
t = Track(audioFile)
print t.artist," ",t.title, " ", t.length, " ", t.album, " ", t.genre
if __name__ == '__main__':
main()
我想在Django上找到一种方法来运行这个脚本,即使这是在本地的。我希望我的观点更清楚。
提前致谢!
答案 0 :(得分:0)
您需要查看Boto和django-storages,了解如何做您想做的事情。 django-storage使得替换Django的FileStorage机制变得非常简单,因此您可以在S3处将imaes /文件直接上传到您的存储桶。
从S3读取并更新数据库对象只是相反的工作流程,但是Boto可以很容易地连接到存储桶并读取信息。
希望能帮到你。