gpt4 book ai didi

python-magic 模块的对象没有属性 'open'

转载 作者:行者123 更新时间:2023-11-28 22:54:17 26 4
gpt4 key购买 nike

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

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

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

它表明模块对象没有属性“open”。我在谷歌上搜索,有人说原因之一是我没有 __init__.py 文件。所以我检查了我的个人网站包目录。我找到了 magic.py、magic.pyc 和一个文件夹 python_magic-0.4.3-py2.7.egg-info,其中只包含一些文本文件。

如何获取 __init__.py 文件?我检查了其他安装的软件包,其中一些是有这样一个文件。

谢谢。

最佳答案

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

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

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

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

记录为:

Create a new libmagic wrapper.

mime - if True, mimetypes are returned instead of textual descriptions
mime_encoding - if True, codec is returned
magic_file - use a mime database other than the system default

根据自述文件 所有 就公共(public) API 而言。

Magic 类在内部处理 magic.MAGIC_NONE;例如,在创建 magic.Magic() 实例时设置 mime=True 将设置一个 magic.MAGIC_MIME 标志。

您遇到的代码似乎涵盖了一个不同 Python magic 库,需要更多的内部操作。我的建议:不要试图复制它。使用这个新库及其记录的 API

关于python-magic 模块的对象没有属性 'open',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18226536/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com