如何从类似文件的对象中使用 python mimetypes.guess_type

2023-11-27

>>> mimetypes.guess_type('picture.jpg')
('image/jpeg', None)

现在我有一个类似文件的对象(例如 stingIO), 哪些内容是图像的数据

我如何从类似文件的对象中检测 mimetypes


python mimetype 标准模块将文件名映射到 mime 类型,反之亦然。要使用它,您需要一个文件名或 mime 类型,在这种情况下,它会返回一个可能的文件扩展名。

它不会/不会根据文件的内容确定 mime 类型。您需要另一种类型的工具来做到这一点。 Libmagic(unix 文件命令背后的库)就是其中之一。文件魔法模块(https://pypi.python.org/pypi/filemagic/1.6) 是 libmagic 的 python 接口。

import urllib2
import magic

img_data = urllib2.urlopen('https://www.google.com/images/srpr/logo11w.png').read()
# You can add flags 
# magic.Magic(flags=magic.MAGIC_MIME_TYPE) for take "/image/png"
m = magic.Magic()
print m.id_buffer(img_data)
m.close()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何从类似文件的对象中使用 python mimetypes.guess_type 的相关文章

  • 如何查找 pandas 数据框中连续相同字符串值的计数?

    假设我们有以下 pandas 数据框 df pd DataFrame col1 A gt G C gt T C gt T G gt T C gt T A gt G A gt G A gt G col2 TCT ACA TCA TCA GCT
  • QSortFilterProxyModel + QAbstractItemModel modelIndex.internalPointer() 导致崩溃

    我在 PyQt 4 8 Python 2 7 中实现了自己的 QAbstractItemModel class FriendListModel QtCore QAbstractItemModel def init self groups c
  • 如何测试顶级窗口是否打开?

    我感觉 Python 编程可能不是我的菜 我创建了一个 tkinter GUI 它使用按钮回调来打开另一个窗口 其他搜索说这个窗口应该是顶级窗口 并且它工作得很好 但是每次按下按钮时它都会打开另一个相同的窗口 如据我所知 窗口 问题 如何测
  • 错误只有 size-1 数组可以转换为 Python 标量

    我有这个代码 for a in data X for i in a if not i isdigit x hash i data X column row x row row 1 row 0 column column 1 desired
  • Python中#和"""注释的区别

    开始用 Python 编程 我看到一些带有注释的脚本 and comments 这两种评论方式有什么区别 最好的事情就是阅读PEP 8 Python 代码风格指南 https www python org dev peps pep 0008
  • 运行源代码中包含 Unicode 字符的 Python 2.7 代码

    我想运行一个在源代码中包含 unicode utf 8 字符的 Python 源文件 我知道这可以通过添加评论来完成 coding utf 8 在一开始的时候 但是 我希望不使用这种方法来做到这一点 我能想到的一种方法是以转义形式编写 un
  • Python - 为什么这段代码被视为生成器?

    我有一个名为 mb 的列表 其格式为 Company Name Rep Mth 1 Calls Mth 1 Inv Totals Mth 1 Inv Vol Mth 2 等等 在下面的代码中 我只是添加了一个包含 38 个 0 的新列表 这
  • 在 C# 中实例化 python 类

    我已经用 python 编写了一个类 我想通过 IronPython 将其包装到 net 程序集中 并在 C 应用程序中实例化 我已将该类迁移到 IronPython 创建了一个库程序集并引用了它 现在 我如何真正获得该类的实例 该类看起来
  • 打印一个 Jupyter 单元中定义的所有变量

    有没有一种更简单的方法来以漂亮的方式显示单个单元格中定义的所有变量的名称和值 我现在做的方式是这样的 但是当有30个或更多变量时我浪费了很多时间 您可以使用whos http ipython readthedocs io en stable
  • 将 JSON 字符串传递给 Django 模板

    我一直在用头撞墙 试图找出为什么我无法将从 Django 模型生成的 JSON 字符串传递到模板的 javascript 静态文件中 事实证明 问题不在模型级别 使用serializers serialize 在脚本本身中放入相同的字符串将
  • Docker:通过 Gunicorn 运行 Flask 应用程序 - Worker 超时?表现不佳?

    我正在尝试创建一个用Python Flask编写的新应用程序 由gunicorn运行 然后进行dockerized 我遇到的问题是 docker 容器内的性能非常差 不一致 我最终得到了响应 但我不明白为什么性能会下降 有时我会在日志中看到
  • 出现意外的关键字参数“timeout”(Python 中的 google-cloud-storage)

    使用 google cloud storage 的 Python 项目在本地运行良好 但是当它从 App Engine 运行时 会显示错误 Traceback most recent call last File opt python3 7
  • 如何在Python中获取绝对文件路径

    给定一条路径 例如 mydir myfile txt 如何在Python中找到文件的绝对路径 例如 在 Windows 上 我最终可能会得到 C example cwd mydir myfile txt gt gt gt import os
  • 指定 Parquet 属性 pyspark

    如何在 PySpark 中指定 Parquet 块大小和页面大小 我到处搜索 但找不到任何有关函数调用或导入库的文档 根据火花用户档案 https mail archives apache org mod mbox spark user 2
  • 从文档字符串生成 sphinx 文档不起作用

    我有一个具有以下结构的项目 我想保留 my project build here is where sphinx should dump into requirements txt make bat Makefile more config
  • 散景中的时间序列流

    我想在散景中绘制实时时间序列 我只想在每次更新时绘制新的数据点 我怎样才能做到这一点 散景网站上有一个动画情节的示例 但它每次都需要重新绘制整个图片 另外 我正在寻找一个简单的示例 我可以在其中逐点绘制时间序列的实时绘图 散景效果0 11
  • Scrapy - 不会爬行

    我正在尝试运行递归爬行 由于我编写的爬行不能正常工作 因此我从网络上提取了一个示例并进行了尝试 我真的不知道问题出在哪里 但是爬行没有显示任何错误 谁能帮我这个 另外 是否有任何逐步调试工具可以帮助理解蜘蛛的爬行流程 非常感谢任何与此相关的
  • Python:使用列表创建二叉搜索树

    我的代码的目标是从 txt 文件中获取每个单独的单词并将其放入列表中 然后使用该列表创建二叉搜索树来计算每个单词的频率 并按字母顺序打印每个单词及其频率 中的每个单词只能包含字母 数字 或 我无法用我的初学者编程知识来做的部分是使用我拥有的
  • 如何指定一个变量作为类或类实例的成员变量?

    在最新的 Python 2 7 x 中 给定类定义内的任何成员变量 该成员变量是否始终处于类级别 因为它是由该类的所有实例共享的单个变量 在类的定义中 如何指定 类定义中的哪些成员变量属于该类 因此由该类的所有实例共享 以及 哪些属于该类的
  • 使用Python的timeit获取“全局名称'foo'未定义”

    我想知道执行一条Python语句需要多少时间 所以我上网查了一下 发现标准库提供了一个名为timeit http docs python org library timeit html旨在做到这一点 import timeit def fo

随机推荐

  • 当服务器处于无限循环并且客户端停止时会发生什么?

    我试图弄清楚服务器和客户端之间的 交谈 是如何完成的 因此 当服务器生成无限循环时 echoing hello br 例如 当客户停止或点击 返回 时会发生什么 服务器如何知道循环已结束 或者它旁边是否有一个无限的进程 我可以在任何地方阅读
  • AngularJS 中的 ng-repeat 自动对焦

    我使用 ng repeat 获取多个电话号码 div div
  • 既然我们有了 ES6 Promise,还有理由使用 Q 或 BlueBird 这样的 Promise 库吗? [关闭]

    Closed 这个问题是基于意见的 目前不接受答案 在 Node js 添加了对 Promise 的原生支持之后 还有理由使用 Q 或 BlueBird 等库吗 例如 如果您正在启动一个新项目 并且假设在该项目中您没有任何使用这些库的依赖项
  • 通过 HTTP 使用 MSMQ。如何解决队列问题?

    我目前正在尝试将 MSMQ 与 C 和 NET 结合使用以实现 IPC 我试图理解它是如何工作的 但我对它很困惑访问 MSMQ 队列时路径名称和格式名称之间的差异 我在以下帖子中发现了一些类似的问题 通过 HTTP 的 MSMQ 调用未到达
  • C++ 未初始化的局部变量

    我有一个功能 VOID GetOSVersion PDWORD major PDWORD minor PDWORD build OSVERSIONINFO osver ZeroMemory osver sizeof OSVERSIONINF
  • 读取android资源文件夹中的CSV文件

    我正在 netbeans 中开发一个 Android 应用程序 我正在尝试使用 opencsv 读取 CSV 文件 当我将文件放入资源文件夹并尝试从那里读取它时 构建时出现错误 提示资源目录无效 我应该在哪里存储 csv 文件 以便每次应用
  • 是我个人的问题,还是 WPF 是一堆数据绑定和自定义 IValueConverters?

    说真的 似乎每次我想让我的 UI 元素相互交谈时 我最终都会编写一个新的自定义 IValueConverter 有人告诉我我做错了 拜托 例子 我希望仅当我的文本框包含有效的 URI 时才启用按钮 太棒了 是时候编写代码了UriIsVali
  • 防止某些字段被 .NET Azure Web Api 中的 PATCH 覆盖

    我正在创建一个带有 NET 后端的 Azure 移动服务 该后端使用 TableController ApiController 的子类 来处理 REST 请求 在我的 PATCH 方法中 我想限制允许更新的字段集 我有一个 Account
  • jQuery 计算子元素数量

    div ul li 29 li li 16 li li 5 li li 8 li li 10 li li 7 li ul div 我想统计一下总数 li 中的元素 div div 使用 jQuery 怎么可能做到这一点 children s
  • 为什么 document.execCommand("paste") 在 Google Chrome 中不起作用?

    我的扩展有问题 我想从剪贴板粘贴数据 到目前为止 我已经得到了这个 function pasteAndGo document execCommand paste alert Pasted 出现警报 但没有粘贴任何内容 我有一种感觉docum
  • 如何使用 Spark DataFrames 查询 JSON 数据列?

    我有一个 Cassandra 表 为简单起见 它看起来像 key text jsonData text blobData blob 我可以使用 Spark 和 Spark cassandra connector 为此创建一个基本数据框架 v
  • 从响应标头中删除“服务器:Apache”

    我想知道如何完全删除 apache 在响应中发送的服务器标头 最初 它显示完整的服务器信息 例如Server Apache Ubuntu 14 04 在响应标头中 但我在某处读到将其添加到 apache2 conf 中 ServerToke
  • 如何将手机与邮箱/密码验证关联?

    我正在尝试创建一个 flutter 应用程序 在其中使用电子邮件 密码创建用户后 将其保存在 firebase 中 然后用户输入发送 OTP 的电话号码 并在验证后登录 我的问题是 当这两个步骤完成后 Firebase 将创建两个单独的帐户
  • 使用 Serde 反序列化对象时,有没有办法省略包装器/根对象?

    我有以下对象 data id 1 name South America countries data id 122 name Brazil capital Brasilia 我想定义两个结构 Continent and Country 省略
  • 为什么 GetHashCode 位于 Object 类中?

    Why 获取哈希码是对象类的一部分吗 只有一小部分类的对象用作哈希表中的键 当我们希望类的对象作为哈希表中的键时 拥有一个必须实现的单独接口不是更好吗 MS 团队决定将此方法包含在对象类中 从而使其 随处 可用 肯定是有原因的 在我看来 这
  • 如何将当前屏幕捕获为图像?

    我想添加用户在我的应用程序中捕获当前屏幕并通过电子邮件发送的功能 我有一个非常非技术性的用户群 所以我需要它尽可能简单 我打算让他们单击名为 帮助我 的菜单项 然后 它将捕获当前的应用程序屏幕 最好是 jpg 或 png 格式 然后打开 O
  • Git 接收后挂钩不起作用

    我的设置是 Windows XAMPP 服务器 启用了 cURL 并安装了 Git 和 Hudson Hudson 每分钟轮询一次 Git 以查找更改 如果找到更改 就会创建一个构建 我使用这个版本作为我的测试服务器 这很好用 我想在我的中
  • Chart.js 压缩条形图上的垂直轴

    我有一个数据集 其中最后一个值总是非常高 这会导致我的条形图出现问题 几乎所有其他值如果不悬停在它们上面就很难有感觉 这是一个屏幕截图 这就是我想要达到的目标 所以我的问题是 这可以在普通 Chart js 中实现吗 或者我需要一个插件吗
  • 在 JavaScript (node.js) 中设置错误原因

    是否可以指定 JavaScript node js 中错误的原因 我找到了Mozilla 文档它定义了如何设置消息 文件 行 但不定义错误原因 我对此感兴趣的原因是我想捕获内部错误并将其传播到嵌套异常中的表面 类似于 Java 中的异常链
  • 如何从类似文件的对象中使用 python mimetypes.guess_type

    gt gt gt mimetypes guess type picture jpg image jpeg None 现在我有一个类似文件的对象 例如 stingIO 哪些内容是图像的数据 我如何从类似文件的对象中检测 mimetypes p