您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Python:使用Hachoir,如何提取文件类对象的元数据?

5b51 2022/1/14 8:20:52 python 字数 2816 阅读 493 来源 www.jb51.cc/python

我正在使用用户上传视频和音频文件的网站,我上传时,必须从文件中填充一些常见的元数据字段.我找到了Hachoir并且它看起来不错,但是有问题的是,要创建用于元数据读取的解析器,需要的是文件名,而不是文件类或流对象.现在我正在使用Django进行Web开发,我想继续使用FileStorage API,因此可以很好地将文件上传到CDN.如何使用Hachoir文件像

概述

我正在使用用户上传视频和音频文件的网站,我上传时,必须从文件中填充一些常见的元数据字段.我找到了Hachoir并且它看起来不错,但是有问题的是,要创建用于元数据读取的解析器,需要的是文件名,而不是文件类或流对象.

现在我正在使用Django进行Web开发,我想继续使用FileStorage API,因此可以很好地将文件上传到CDN.

如何使用Hachoir文件像对象?他们提供的sample code作品,但仅适用于“真实”文件.

from hachoir_core.error import HachoirError
from hachoir_core.stream import InputIOStream
from hachoir_parser import guessParser
from hachoir_Metadata import extractMetadata


def Metadata_for_filelike(filelike):
    try:
        filelike.seek(0)
    except (AttributeError,IOError):
        return None

    stream = InputIOStream(filelike,None,tags=[])
    parser = guessParser(stream)

    if not parser:
        return None

    try:
        Metadata = extractMetadata(parser)
    except HachoirError:
        return None

    return Metadata

只需要更好的错误处理:)

总结

以上是编程之家为你收集整理的Python:使用Hachoir,如何提取文件类对象的元数据?全部内容,希望文章能够帮你解决Python:使用Hachoir,如何提取文件类对象的元数据?所遇到的程序开发问题。


如果您也喜欢它,动动您的小指点个赞吧

除非注明,文章均由 laddyq.com 整理发布,欢迎转载。

转载请注明:
链接:http://laddyq.com
来源:laddyq.com
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


联系我
置顶