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

8
我正在开发一个允许用户上传视频和音频文件的网站,在上传时,一些常见的元数据字段必须从文件中填充。我找到了Hachoir,它看起来不错,但有一个问题,要创建用于读取元数据的解析器,需要使用文件名而不是文件对象或流对象。
如何在文件对象上使用Hachoir?
1个回答

8

使用Hachoir v3.2.1:

import hachoir.metadata
import hachoir.parser
import hachoir.stream

parser = hachoir.parser.guessParser(hachoir.stream.InputIOStream(file_handle, None, tags=[]))
if parser:
    hachoir_metadata = hachoir.metadata.extractMetadata(parser)
    if hachoir_metadata:
        metadata: Dict[str, str] = hachoir_metadata.exportDictionary()['Metadata']
        print(metadata)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接