在Python中,你如何获取内容
可能重复:
如何在Python中找到文件的MIME类型?
我正在使用电子邮件处理API(sendgrid.com)将所有传入的电子邮件发布到我的应用中的Web请求处理程序。 附件发布为attachment0 = xyz&attachment1 = abc以及其他电子邮件字段,例如'to''cc''主题'等。
然后我将这些附件作为文件存储在BlobStore中(使用App Engine)。 要将这些文件返回给用户,必须指定mime_type / content_type。 据我了解,它通常取决于文件类型。 但是我不清楚如何从传递的字符串中获取文件类型。
有没有一个库可以从文件的字节内容中找出文件类型?
只是为了澄清,没有文件名或文件扩展名。 只是文件的字节内容。
如果您在上传文件时保存了文件名,那么您可以使用mimetypes.guess_type
函数在此处进行拍摄。 亚历山大联系在一起的SO问题很好阅读。
不幸的是,那不是你的情况。 如果你拥有的只是一个二进制的blob,恐怕你必须在这里进行一些自定义的启发式。 遵循以下简单的步骤:
例如:
ZIP文件以两个字符PK
开头,RAR文件以Rar!
开头Rar!
,PDF以%PDF
开头,PNG以x89PNG
等等
这将无法识别某些文件(如JPG),但您在这里建立起来有一个很好的开始。
或者,您也可以使用https://github.com/ahupp/python-magic。
链接地址: http://www.djcxy.com/p/46793.html