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

python-2.7 - python-magic WindowsError:访问冲突写入0x00000000

我使用 pip 在我的 Win 7 64bit 上安装了 python-magic (0.4.6)。然后我安装了 cygwin 1.7.33-2 以提供所需的 dll,并创建了一个名为 magic1.dll 的 cygmagic-1.dll 副本(参见

当我运行 Python 2.7.6 32 位 shell 时,“导入魔法”工作正常。

然而,一个

给了我一个

任何想法是什么导致了这个错误以及我该如何解决它?谢谢您的帮助!

0 投票
1 回答
407 浏览

python - Get MP3 MIME type using python

I am writing a script to determine if a file is a valid MP3 using python-magic. With some files, the magic.from_file() function returns use count (30) exceeded. Is it possible to raise the limit similar to the command line program: file --parameter name=40? If this is not possible with python-magic, is it possible with filemagic?

0 投票
1 回答
170 浏览

python - 在 python 中查找文件处理程序后面的文件类型

我面临的问题是找出文件处理程序背后的文件类型。

我需要这个,因为我的 apache_log_parser 无法解析一行并且整个程序被撞了出来:

原因是文件处理程序指向一个 gz 文件。不管我是否使用 gzip 库来解压缩文件,因为这是一个双重压缩文件 *.gz.gz,因此解压缩的文件又是另一个 gzip 文件。

所以我尝试使用 python-magic 库来找出文件类型,但似乎需要一个文件名。

我已经实现了一个 try:/expect: 语句,但这并不能真正解决处理大量无用行的问题。

你建议怎么做?谢谢

0 投票
1 回答
877 浏览

python - 将python函数解析为装饰器中的字符串

我正在尝试编写一个函数调试装饰器,它将查看:

并将其包装到:

我需要将函数用作文本,以获取“\w+(?=\s*[=])”,但不知道如何访问它。我有一个从一个有效的博客修改的装饰器,但我只是尝试将其更改为:

并且没有任何价值,即:

如何使用实际的“func”文本,在其上运行正则表达式并在装饰器类对象中找到我需要的东西?谢谢

0 投票
3 回答
1727 浏览

python - python-magic WindowsError: [错误 193] %1 不是有效的 Win32 应用程序

嗨,我正在尝试在 Windows 8 上使用 python-magic,但是当我尝试使用命令导入时,import magic它给了我这个错误WindowsError: [Error 193] %1 is not a valid Win32 application我已经尝试了 64 位和 32 位版本的 Python 2.7.10,但我总是得到这个错误。

谢谢

0 投票
1 回答
1433 浏览

django - 在使用 python 魔术上传之前验证文件

我正在使用 python 魔法在上传之前验证文件,因此我遵循以下链接:

验证器.py 文件:

这是我的 form.py 文件:

所以我可以用这个 python 魔术逻辑上传一个 pdf 文件,但我也想允许上传一个图像 tiff 文件并将文件大小限制为 25 MB。

如何通过使用 python 魔术来实现这一点?

0 投票
1 回答
667 浏览

python - 确定内存中的图像

我想确定我拥有的(下载的)缓冲区是否是图像文件,而不是将其保存到磁盘。我查了一下,发现:

  1. imghdr 只能对文件执行此操作。
  2. python-magic 可以给我文件类型,但我需要将它映射到图像类型。

有没有更好的办法?

0 投票
1 回答
1390 浏览

python - 如何在 python-magic 中获取 .jar 文件的信息

我有一个充满 jar、html、css、exe 类型文件的文件夹。如何检查文件?

我已经在 *NIX 上运行了“file”命令并使用了 python-magic。但结果都是这样。

test : Zip archive data, at least v1.0 to extract

我怎样才能获得特别像test : jar只使用幻数的信息。

我该怎么做?

0 投票
2 回答
169 浏览

python - 正确区分压缩的 .gz 文件和归档的 tar.gz 文件?

区分 gzip 或 bzip2 格式的普通压缩文件(例如 .gz)和使用 gzip 或 bzip2 压缩的 tarball(例如 .tar.gz)的正确方法是什么因为文件可能最终被重命名。

现在在命令行我可以做这样的事情:

所以我尝试在 python 中使用以下函数进行类似的操作:

然后,当尝试读取压缩的 tarball 时,我将从其他地方通过以下方式传入缓冲区:

不幸的是,使用 python-magic 中的uncompress标志会出现问题,因为 python-magic 似乎希望我传递整个文件,即使我只希望它读取缓冲区。我最终得到了例外:

看到我正在查看的文件最终大小可能为 2M 到 20GB,这变得相当有问题。我不想阅读整个文件

它可以被黑客入侵并切断压缩文件的末尾并将其附加到缓冲区吗?是否最好忽略使用 python-magic 解压缩文件的想法,而是在我传入缓冲区以通过以下方式识别之前执行它:

有没有更好的办法?

0 投票
2 回答
2416 浏览

django - Django:使用 python-magic 在模型中验证文件字段

我有一个包含文件字段的模型。我想将其限制为 pdf 文件。我在模型中编写了 clean 方法,因为我还想检查 admin 和 shell 级别的模型创建。但它不适用于模型清理方法。然而,表格清洁方法正在发挥作用。

如果我上传 pdf,则表单清洁方法中的 mime 正在正确验证(打印“应用程序/pdf”)。但是模型清理方法没有验证。它将 mime 打印为“application/x-empty”。我在哪里做错了?

还有一个问题是,如果模型清理方法引发验证错误,它不会在表单中显示为字段错误,而是显示为非字段错误。为什么这样 ?