问题标签 [python-magic]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1261 浏览

python - 如何找到在 zip 文件中发送给我的不带扩展名的文件的 mimetype?

我有一个简单的问题:在我正在开发的系统中,用户可以向我们发送 zipfiles,我需要过滤它的内容。(阻止应用程序和恶意脚本)

通过扩展名阻止内部文件很容易,但是没有扩展名的文件很常见,并且扩展名不是关于文件内容的最可靠来源。

我已经尝试过使用 python 魔法,但它需要一些我的服务器不支持的包,并且服务器不会帮助我。哦!我没有将系统更改为另一台服务器的选项。所以,在这种情况下,对我来说没有 python 魔法。

有谁知道如何通过标题检查文件类型?

0 投票
5 回答
4647 浏览

django - 如何使用魔法来验证 Django 表单清理方法中的文件类型?

我在 Django 中使用 FileField 编写了一个电子邮件表单类。我想通过检查其 mimetype 来检查上传文件的类型。随后,我想将文件类型限制为 pdf、word 和打开的 office 文档。

为此,我安装了 python-magic 并希望按照 python-magic 的规范检查文件类型,如下所示:

但是,最近上传的文件在我的服务器上缺少地址。我也不知道类似于“from_file_content”的 mime 对象的任何方法,它检查给定文件内容的 mime 类型。

使用魔术验证Django表单中上传文件的文件类型的有效方法是什么?

0 投票
2 回答
1187 浏览

python - 如何可靠地告诉上传的文件类型(文本或二进制)?

我有一个应用程序,用户应该能够上传各种各样的文件,但我需要知道每个文件是否可以安全地将其文本表示形式显示为纯文本。

像使用python-magic

给了我正确的 MIME 类型。

但有时,脚本的 MIME 类型是application/*,因此仅查找m.startswith('text/')是不够的。

另一个网站建议使用

并检查'text' in m.

第二种方法对于任意文件上传的集合是否足够可靠,或者有人可以给我另一个想法吗?

非常感谢。

0 投票
4 回答
10376 浏览

python - Windows 上的“魔术”库缺少文件

我需要为 Windows 上的某些文件获取 mime 类型,所以我已经安装了python-magic(在 32 位 python 2.7.3 上)。
它取决于 unixmagic库。作者指示从 gnuwin32 项目中
获取regex2.dll和获取。所以我将文件保存到一个文件夹并将该文件夹添加到我的系统中。 现在当我执行方法时,我得到了丢失的文件异常: zlib1.dllmagic1.dllPATH
magic

DLL 在 PATH 中,我尝试调试并且magic1.dll位置正确,但是库内的某个地方抛出异常。在我找到
的包裹里面,. 我将它们放在同一个文件夹中,然后继续 gnuwin32magicmagic.mgcWindowsError: [Error 126]

这显然是因为 python 试图以magicdll 形式打开文件,这是纯文本。在代码中添加.dll文件名后,我得到了相同的结果magic.MagicException: could not find any magic files!
我缺少什么文件?

更新:

更新 2(已解决):

只需要明确指定文件

0 投票
1 回答
2493 浏览

python - 为什么magic.from_buffer 返回None?

这是我打电话时得到的magic.from_buffer

在这一点上,我应该得到application/msword,但我没有从最后一次通话中得到任何东西。我错过了什么?

这适用于我的开发机器,但在我的服务器上失败。我相当困惑。

0 投票
5 回答
16960 浏览

python-2.7 - Python-magic 安装错误 - ImportError: failed to find libmagic

我正在尝试为 Windows 安装 python-magic,我已按照https://github.com/ahupp/python-magic中的所有说明进行操作,并多次重复该过程,但仍然出现此错误:

我在 C:\Windows\System32 中有 magic1.dll(以及文档指定的其他两个文件),所以我不确定问题是什么。我将不胜感激任何帮助或解决方法。

0 投票
0 回答
2809 浏览

python - 如何解决 MagicException:在 s3cmd 中“找不到任何魔法文件”?

我正在使用 s3cmd 上传文件。对于 MIME 类型,它总是将 .png 文件上传为“image/x-png”。

所以我决定安装“python-magic”

我在这里做了什么:

在 Windows 7 64 位上安装了 Python 2.7 x86,(因为“python-magic”的手册说只有 x86 可以工作)从http://www.python.org/download/releases/2.7/下载

安装 Python 扩展设置工具http://www.lfd.uci.edu/~gohlke/pythonlibs/#setuptools

下载并安装https://github.com/ahupp/python-magic,使用 'C:\Python27\python setup.py install'

找到 3 个文件(magic1.dll、zlib1.dll、regex2.dll,根据 python-magic 的要求)并复制到 Windows/System32

好的,最后 s3cmd 使用 python-magic 进行 MIME,但是错误:

请告知我如何或在哪里可以获得一些魔术文件。

0 投票
2 回答
2794 浏览

python - 在 Windows XP 上使用 python magic 的错误消息

我按照这里的说明...

https://github.com/ahupp/python-magic#dependencies

我运行了 pip install python-magic 并且安装没有任何问题。然后我安装了 cygwin 并将 C:\cygwin\bin 添加到我的系统路径中。当我在 Windows 命令提示符下运行 python 解释器并导入魔法时,我得到了这个错误......

我错过了一步吗?

0 投票
2 回答
4126 浏览

python - 蟒蛇魔术; 找不到 libmagic

我已经使用“pip install python-magic”下载并安装了 python-magic。来源:https ://github.com/ahupp/python-magic

它下载并安装得很好。我还将 3 个文件(cygmagic-1.dll、cygwin1.dll 和 cygz.dll)从 cygwin 安装复制到 C:\Windows\System32。

然后,我还下载了magic1.dll 并将其也放入System32 文件夹中。

但是命令提示符仍然给我这个错误:

ImportError:找不到 libmagic。检查您的安装

为什么会这样?

编辑:我也将 C:\cygwin\bin 包含在 PATH 中。

0 投票
1 回答
26724 浏览

python - 如何使用 python-magic 5.19-1

我需要从 python3 中没有后缀的文件中确定 MIME 类型,我认为 python-magic 是一个合适的解决方案。不幸的是,它不像这里描述的那样工作: https ://github.com/ahupp/python-magic/blob/master/README.md

会发生什么:

所以我看了一下对象,它为我提供了Magic我在这里找到文档的类:http: //filemagic.readthedocs.org/en/latest/guide.html

我很惊讶,这也不起作用:

我找不到任何关于如何在Magic任何地方使用该类的信息,所以我继续反复试验,直到我发现它只接受LP_magic_setfor 的实例ms。其中一些是由模块的方法 magic.magic_set()magic_t(). 所以我试图Magic用他们中的任何一个来实例化。然后当我从实例调用该file()方法时,它总是返回一个空结果,并且该errlvl()方法告诉我错误号。22. 那么我到底该怎么使用魔法呢?