为什么是magic.from_缓冲区什么也不回?

2024-09-30 07:19:56 发布

您现在位置:Python中文网/ 问答频道 /正文

以下是我调用magic.from_buffer时得到的结果:

>>> import urllib2
>>> data = urllib2.urlopen('http://www.in.gov/judiciary/opinions/previous/wpd/05040501.bed.doc').read()
>>> len(data)
29696
>>> from lib import magic
>>> magic.from_buffer(data, mime=True)

此时,应该向我提供application/msword,但是最后一次调用我什么也没有得到。我错过了什么?在

这在我的开发机器上有效,但在服务器上失败。我很困惑。在


Tags: infromimporthttpdatabufferwwwmagic
1条回答
网友
1楼 · 发布于 2024-09-30 07:19:56

我不确定这个问题的原因(可能是版本),但我可以用以下方法解决它:

mime = magic.from_buffer(data, mime=True)
if mime == None:
    # Workaround for issue with libmagic1==5.09-2 in Ubuntu 12.04. Fixed in libmagic 5.11-2.
    file_str = magic.from_buffer(data)
    if file_str.startswith('Composite Document File V2 Document'):
        mime = 'application/msword'

不是很好,但是在升级服务器并获得libmagic的新版本之前就可以完成任务了。在

相关问题 更多 >

    热门问题