使用 MediaInfo 加上包装器的 Python 错误

Posted

技术标签:

【中文标题】使用 MediaInfo 加上包装器的 Python 错误【英文标题】:Python error using MediaInfo plus wrapper 【发布时间】:2013-09-26 20:11:33 【问题描述】:

我目前正在尝试获取模块 pymediainfo,该模块安装在我尝试使用的每台机器上,并且安装时没有错误。

有关 pymediainfo 的更多信息,请访问此处(没有很多因此我在这里的原因):https://pymediainfo.readthedocs.org/en/latest/#

无论如何,我正在尝试读取和输出视频文件中的 xml 数据以获取视频统计信息,例如比特率和诸如此类的东西,但是在除了我自己的家用机器之外的每台机器上,我都会收到此错误:

Traceback (most recent call last):
  File "/usr/bin/mvandmake", line 253, in <module>
    main()
  File "/usr/bin/mvandmake", line 250, in main
    newfile = makefile(todo + "/" + filename + ".mkv")
  File "/usr/bin/mvandmake", line 125, in __init__
    self.media_info = MediaInfo.parse(self.filename)
  File "/usr/local/lib/python2.7/dist-packages/pymediainfo-1.3.6-py2.7.egg/pymediainfo/__init__.py", line 98, in parse
    xml_dom = MediaInfo.parse_xml_data_into_dom(fp_out.read())
  File "/usr/local/lib/python2.7/dist-packages/pymediainfo-1.3.6-py2.7.egg/pymediainfo/__init__.py", line 85, in parse_xml_data_into_dom
    return BeautifulSoup(xml_data, "xml")
  File "/usr/local/lib/python2.7/dist-packages/beautifulsoup4-4.3.1-py2.7.egg/bs4/__init__.py", line 152, in __init__
    % ",".join(features))
bs4.FeatureNotFound: Couldn't find a tree builder with the features you requested: xml. Do you need to install a parser library?

我一生都无法弄清楚依赖关系中缺少什么,我不知道这是否在这里,但它是一个 python 脚本。如果有人有任何想法或方法让我检查我的机器上是否安装了 xml 解析器库,那就太好了。提前致谢。

- 布赖恩

【问题讨论】:

【参考方案1】:

BeautifulSoup 中的错误不是 MediaInfo 本身中的错误。你需要安装 lxml 库。

在你的 python 控制台中尝试:

import lxml

如果这不能正确导入,请尝试使用 pip 安装 lxml

pip install lxml

【讨论】:

以上是关于使用 MediaInfo 加上包装器的 Python 错误的主要内容,如果未能解决你的问题,请参考以下文章

包装器的使用

具有固定包装器的引导网格 - 防止列堆叠

使用没有对象包装器的 Jquery $.grep 过滤对象数组

使用装饰器的类内的函数包装器

使用没有数据库包装器的 PHP 记录 mysql 查询

带有 FMDB 包装器的 Sqlite 数据库不插入数据