python如何从文件中读取数据,Python读取数据文件
我想要做的是从音频或视频文件获取元数据并将其保存到数据库记录,到目前为止唯一的方法是使用子进程将AVCONV保存到文件中。打开电话然后读取该文件,是有任何库可以做到这一点,以节省一些步骤?我找不到用Pydub或皮索克斯来做这件事的方法。这里是我使用的简单化的初学者代码,它可以工作,并将比特率,持续时间等信息放入变量音频信息中,并将元数据放入元数据中106 .格式输出的工作方式与我测试的其他格式不同(这是一大堆视频和音频!)。
尝试:
p=子流程Popen([avconv ,-i ,music_file),stdout=subprocess .管道,标准错误=子进程。管道)
out,err=p.communicate()
retcode=p.wait()
除了IOError,e:
及格
extension=uploaded _ music _ file[-3:]
如果“奥格”不在[呃,扩展]中:
如果"元数据:"在错误:
list=err.split(Metadata:)
holder=list[1].拆分(持续时间:)
元数据=持有者[0]
音频信息=持有人[1]。替换(必须至少指定一个输出文件,)
打印元数据
打印音频信息
否则:
list=err.split(Duration:)
audio_info=list[1].替换(必须至少指定一个输出文件,)
打印"无元数据"
打印音频信息
否则:
list=err.split(Duration:)
如果"元数据:"在列表[1]中:
数据=列表[1]。拆分(元数据:)
元数据=数据[1]。替换(必须至少指定一个输出文件,)
音频信息=数据[0]
打印元数据
打印音频信息
否则:
audio_info=list[1].替换(必须至少指定一个输出文件,)
打印"无元数据"
打印音频信息
if (audio_info):
打印"音频信息:"
光标。执行( UPDATE songDB SET audio _ info=% s,其中id=%s ,[音频信息,歌曲id ])
如果(元数据):
打印"元数据:"
光标。执行( songDB pack _ song SET元数据=% s,其中id=%s ,[元数据,歌曲id ])
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。