在python中使用mediainfo提取电影名称

在python中使用mediainfo提取电影名称,python,mediainfo,Python,Mediainfo,我可以通过命令行从avi文件中获取电影名称 mediainfo --Inform="General;%Movie%" file.avi 在python中,我可以访问mediainfo结构 mediainfo = MediaInfo.parse(filename) 但是,我无法找到命令行如何与数据结构匹配。稀疏文档和所有示例都讨论了轨道结构,而我的项目通常是 不知道为什么这个网站只允许很短的评论,下面是一个评论 我很困惑。我正在查看的代码是nemo-media-column

我可以通过命令行从avi文件中获取电影名称

mediainfo --Inform="General;%Movie%" file.avi
在python中,我可以访问mediainfo结构

mediainfo = MediaInfo.parse(filename)
但是,我无法找到命令行如何与数据结构匹配。稀疏文档和所有示例都讨论了轨道结构,而我的项目通常是

不知道为什么这个网站只允许很短的评论,下面是一个评论

我很困惑。我正在查看的代码是nemo-media-columns.py()的

从pymediainfo导入MediaInfo ... mediainfo=mediainfo.parse(文件名)

这与您的建议的语法完全不同,本例讨论的是在我的Linux世界中不存在的DLL。我对这一切都感到困惑,因为代码隐藏在应用程序中,所以诊断很困难

mediainfo--Inform=“General;”%Movie%”file.avi

Python的等价物是:

MI = MediaInfo()
MI.Open("file.avi")
MI.Get(Stream.General, 0, "Movie")
您可以有一些关于如何使用Python绑定的示例(包括字段名列表)

编辑回答您的编辑:您的第一个问题是关于Python中的MediaInfo(现在仍然是问题的标题),而不是“pymediainfo”,我用Python中的MediaInfo回答。MediaInfo有一个Python绑定(对于Windows/macOS/Linux,“DLL”代表动态加载库,是MediaInfo中所有平台的通用名称,它在Windows.DLL、Linux.so和macOS.dylib中运行良好),我的示例在您的“Linux世界”上运行得非常好;pymediainfo是具有自己接口的第三方绑定,但实际上这与pymediainfo使用MediaInfo字段名类似。仅供参考,“电影”和“标题”在MediaInfo中是同义词,pymediainfo更喜欢“标题”。简而言之,如果您使用pymediainfo,则表示您使用pymediainfo,这样人们就不会对您想要pymediainfo的答案而说您在Python中使用了MediaInfo感到困惑

Jérôme,MediaInfo的开发者

我最终得到了:

#/usr/bin/python3
从pymediainfo导入MediaInfo
mediainfo=mediainfo.parse('1.avi')
对于mediainfo.tracks中的trackobj:
track=trackobj.to_data()
如果轨道[“轨道类型”]=“常规”:
尝试:
标题=(曲目['title'])
除:
标题='未知'
印刷品(标题)
MI = MediaInfo()
MI.Open("file.avi")
MI.Get(Stream.General, 0, "Movie")