魔法模块'对象没有属性'打开'

我正在尝试使用python-magic软件包,libmagic的包装类。

我使用“pip install python-magic”来安装,但是当我测试它时:

import magic
ms = magic.open(magic.MAGIC_NONE)
ms.load()

它显示模块'对象没有'打开'属性。 我在谷歌搜索和有人说,一个原因是我没有__init__.py文件。 所以我检查了我的peronsal site-packages目录。 我发现magic.py,magic.pyc和一个包含一些文本文件的文件夹python_magic-0.4.3-py2.7.egg-info。

我怎样才能得到__init__.py文件? 我检查了其他软件包的安装,其中一些确实有这样的文件。

谢谢。


没有 magic.open()函数。 如果你看看python-magic文档,你可以看到它有magic.from_file()magic.from_buffer()函数。

使用magic.from_file()来测试路径名称; 该模块为您打开该文件并确定类型。 使用magic.from_buffer()来测试一个字节序列(Python 2中的str ,Python 3中的bytes )。

还有一个magic.Magic()类,您可以实例化(每个线程!)以改变它的运行方式:

Magic(mime=False, magic_file=None, mime_encoding=False)

记录为:

创建一个新的libmagic包装。

mime - 如果为True ,则返回mimetypes而不是文本描述
mime_encoding - 如果为True ,则返回编解码器
magic_file - 使用非系统默认的mime数据库

并根据README ,这是所有至于公共API而言。

Magicmagic.MAGIC_NONE内部处理magic.MAGIC_NONE ; 设置mime=True创建magic.Magic()实例时会设置magic.MAGIC_MIME标志为例。

它看起来好像你遇到的代码涵盖了一个完全不同的Python magic库,它需要更多的内部手持。 我的建议:不要试图复制。 使用这个新的库,它只有记录的API。

链接地址: http://www.djcxy.com/p/46813.html

上一篇: magic module' object has no attribute 'open'

下一篇: Problems with calling unoconv from a django app, running in an virtualenv