问题标签 [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 回答
23773 浏览

python - 导入错误:尚未安装名为 magic 的模块

我正在尝试编辑一些使用 python-magic 的代码,但我得到了一个Import Error: No module called magic。在我环顾互联网并找到有关使用 pip 安装 python-magic 的建议之前,我做了。我使用 pip install python-magic 安装了 python-magic,并且 pip install libarchive-c 也成功安装了。

当我尝试在 python shell 上进行导入时。我能够成功如下; sc1

但是,当我尝试运行使用此导入语句的代码时,我收到一个缺少魔术模块的导入错误,如下所示; sc2

如果有人知道发生了什么。请帮忙。

0 投票
1 回答
618 浏览

python - Python-magic 在 32 位版本的 IDLE 中运行时出现 OSError: [WinError 193] 错误

我已经尝试安装模块python-magic几个小时了,我遇到了一些问题。我正在使用 32 位版本的 Python 3.5.2 和 64 位 Windows 7。

首先,我使用了命令“ pip install python-magic”。我从 Files for Windows 项目中下载了 magic1.dll、regex2.dll 和 zlib1.dll 和 magic,并将这四个文件复制到

我在 Windows 环境变量中将上述目录添加到 PATH 的开头。然后我打开 IDLE 的 Shell 并输入“ import magic”并得到响应OSError: [WinError 126] The specified module could not be found

我读到“魔术”文件应该有扩展名.dll,所以我重命名了它。"C:\Program Files (x86)\Python35-32\Lib\site-packages\magic.dll is either not designed to run on Windows or contains an error"这导致 Windows和 Python弹出警告"OSError: [WinError 193] %1 is not a valid Win32 application“。我读到后一个错误在 64 位环境中运行时经常遇到,但我确保在 32 位 IDLE 中运行它并且只有安装了 32 位版本的 Python。

按照以前 StackOverflow 帖子的建议,我尝试将 cygmagic-1.dll、cygwin1.dll 和 cygz.dll 复制到 C:\Windows\System32,与 magic.dll 相同的文件夹,我还尝试重命名 cygmagic-1 .dll 作为magic1.dll,但这没有任何效果。我知道其他地方说你不应该混合使用 Cygwin Python 和 Windows Python,但是我在没有这些文件的参与的情况下尝试了它,然后它也不起作用。

我尝试将magic.dll 重命名为magic.exe,这允许“导入魔法”和魔法。Magic(magic_file=r'C:\Program Files (x86)\Python35-32\Lib\site-packages\python_magic-0.4.12-py3.5.egg-info\magic.exe') with the response "<magic.Magic object at 0x02EA0A70>". When I tried testing with magic.from_file(r'C:\Program Files (x86)\Python35-32\Lib\site-packages\README.txt'), though, I got the error magic.MagicException: b'could not find any magic files!我认为将其重命名为 magic.exe 一定是错误的,但值得一试。

在我放弃了 python-magic 之后,有人推荐了一个较旧的项目。我下载了它并将 pymagic 文件夹放在我的站点包目录中。当我尝试导入 pymagic.pymagic 时,它告诉我模块 StringIO 不存在,推荐者告诉我这是因为 StringIO 来自 Python2。我将所有提到的 StringIO 更改为 io 并尝试了该命令pymagic.pymagic.identify_file(r'E:\Pictures\picture.jpg')

这产生了错误TypeError: startswith first arg must be bytes or a tuple of bytes, not str.,我没有充分参与 Python 的 os、io 等模块,不知道如何进行修改以使其正常工作。任何人都可以就如何让 python-magic 或 pymagic 工作,或任何其他基于文件头识别文件的模块提出任何建议吗?我知道这个问题已经被问了很多,但以前的答案对我来说并不奏效。

0 投票
0 回答
121 浏览

python - PIP 说 python-magic 已安装,但 materiald 说没有

我在这里遵循 Substanced 安装说明http://docs.pylonsproject.org/projects/substanced/en/latest/install.html

步骤:3 $ bin/python -c "from substanced.file import magic; assert magic is not None, 'python-magic not installed'"=>python-magic not installed

所以我跑pip install python-magic=>Requirement already satisfied: python-magic in c:\users\edmunds\appdata\local\programs\python\python36-32\lib\site-packages

任何想法为什么我在这里收到混合信息?

0 投票
1 回答
1097 浏览

python - Python 错误:文件 5.3 仅支持版本 7 魔术文件

我用magic1.dll、regex2.dll和zlib1.dll文件安装了python-magic,它可以正确导入,但是当我尝试这样做时,m = magic.Magic()我得到了错误:Could not find any magic file。所以,我用谷歌搜索了一下,在这里找到了答案给了我另一个错误:File 5.3 supports only version 7 magic file. "magic.mgc" is version 12.

我可以得到一个魔法文件版本 7 吗?

0 投票
2 回答
5277 浏览

windows - 运行 32 位 Python 2.7 构建的 64 位 Windows 10 的 python-magic 安装挑战

尽管遵循了该模块的自述文件,但我继续收到“找不到魔法文件”。自述文件和“依赖项”部分说:

在 Windows 上,从 File for Windows 项目提供的 Binaries and Dependencies zip 文件将 magic1.dll、regex2.dll 和 zlib1.dll 复制到您的 PATH 中。您需要从 [binary-zip]\share\misc 中复制文件魔法,并将其位置传递给 Magic(magic_file=...) 如果您使用的是 64 位版本的 python,则需要 64 -bit libmagic 二进制文件,可在此处找到:https ://github.com/pidydx/libmagicwin64 (注意:未经测试)。

以下说明会有所帮助:

1) 提供的Files for Windows链接有一个指向“file-5.03-bin.zip”的链接(标记为“Binaries”)、一个指向“file-5.03-dep.zip”的链接(标记为“Dependencies”)和一个链接在“file-4.26-dep.zip”的右下角,它也被标记为“依赖文件”。我假设最后一个是一个错误,它应该指向 5.03-dep,而不是另一个需要的第二个依赖文件。正确的?

在此处输入图像描述

2) 似乎有 32 位版本和64 位版本的依赖文件。我不知道在 64 位 Windows 上使用哪个版本,但在 32 位 Python 上使用。上面的说明说的是 64 位 Python,但这说的是 64 位 Windows。 我应该安装哪个?

3)上面说将DLL放在PATH中;64 位指令说将它们放在 C:\Windows\System32 中。只要文件夹是PATH,这有关系吗?(其他人建议特别不将它们放在 \Windows\System32 帮助:Python-magic 安装错误 - ImportError: failed to find libmagic)。

4)以上表明,除了 3 个 DLL 之外,二进制文件和依赖项中唯一需要的其他文件是文件magic. 所以我也不需要文件magic.mgc,它也在二进制 zip\share\misc 中?我也不需要这两个 ZIP 中的任何其他文件,比如文件file

5) 上述建议magic从二进制 ZIP 中获取文件并将其路径放在一行代码中:Magic(magic_file=...). 我认为这实际上是magic.Magic(magic_file='C:\path\goes\here\magic')并且我认为这可以在文件系统中的任何位置进行。

6)..我再次假设我指向的是文件magic而不是文件magic.mgc

这些假设是否正确?

0 投票
0 回答
139 浏览

python - Python Magic 无法在 Digitalocean 服务器上与 Django 一起使用

我最近在数字海洋服务器(ubuntu)上部署了一个 Django 项目。我正在使用 Nginx 并使用 Let encrypt 保护连接。这是我的问题:我能够使用 python 魔法来验证上传(在开发过程中),但它似乎并没有在生产服务器上运行。这是我的表单验证:

所以是的,它在开发服务器上工作得很好,但每次在生产服务器上都会抛出“文件必须是 mp3”验证错误。即使它是正确的文件类型。是什么赋予了?

0 投票
1 回答
1465 浏览

python - 在 Windows 64 位上导入魔法的问题

我在互联网上搜索了magic在 Windows 10 64 位中正确导入的解决方案。我找到了这个,但我不明白解决方案。

  1. 它说将两个 DLL 复制到操作系统中的指定路径中。

  2. 下面的命令是什么意思?

    /li>

解决方案是1 + 2的组合吗?还是只有 1 个?我已经完成了 1. 仍然出现错误。(第一个错误已解决)

我得到的第二个错误

0 投票
2 回答
3146 浏览

python - 从命令行运行相同脚本时从 scala 执行 python 脚本会出错

这是我的python脚本:

从命令行运行它:

导致该文件所在文档的类型的输出。使用 python 魔术。

现在使用以下代码从 scala 运行相同的脚本:

引发以下错误:

PS:我在我的机器上安装了 python 2.7 和 python 3.6 并且使用它们中的任何一个从命令行运行脚本运行得很好,所以我猜它们都正确地与 MAGIC 包捆绑在一起。

非常感谢任何形式的帮助。

0 投票
1 回答
3955 浏览

django - 致命错误 C1083:无法打开包含文件:'magic.h':没有这样的文件或目录

试图在我的 Windows 10 计算机上运行 django 服务器。

当我执行 python manage.py runserver 时,我收到以下错误:

致命错误 C1083:无法打开包含文件:'magic.h':没有这样的文件或目录

我在 Windows 10 上运行 64 位 python 3.5。

这是错误的图片:

在此处输入图像描述

0 投票
2 回答
1437 浏览

python - Python:OSError:[Errno 22] 无效参数:'*.txt'

我有一个脚本,我想使用它来枚举文件夹中的所有文件类型:

当我输入文件时它工作得很好:

在此处输入图像描述

即使我输入两个文件:

在此处输入图像描述

但不是当我输入所有文件时:

在此处输入图像描述

错误说:

但这*.txt正是我想要输入的;我也想输入任何文件*.*

这是与python-magic我输入文件的方式有关或引起的问题吗?