【发布时间】:2010-10-21 00:19:05
【问题描述】:
我正在编写一个 python 脚本,我想查找有关文件的信息,例如 mime 类型(或对文件包含的任何有用的描述)。
我听说过 python-magic,但我真的在寻找 解决方案,它可以让我找到这些信息,而无需安装额外的包。
我是坚持维护文件扩展名列表,还是 python 在标准库中有一些东西?我无法在文档中找到它。
【问题讨论】:
标签: python
我正在编写一个 python 脚本,我想查找有关文件的信息,例如 mime 类型(或对文件包含的任何有用的描述)。
我听说过 python-magic,但我真的在寻找 解决方案,它可以让我找到这些信息,而无需安装额外的包。
我是坚持维护文件扩展名列表,还是 python 在标准库中有一些东西?我无法在文档中找到它。
【问题讨论】:
标签: python
我不确定你是否想从文件内容中推断出一些东西,但如果你想从文件扩展名 mimetypes 模块中了解 mime 类型就足够了
>>> import mimetypes
>>> mimetypes.init()
>>> mimetypes.knownfiles
['/etc/mime.types', '/etc/httpd/mime.types', ... ]
>>> mimetypes.suffix_map['.tgz']
'.tar.gz'
>>> mimetypes.encodings_map['.gz']
'gzip'
>>> mimetypes.types_map['.tgz']
'application/x-tar-gz'
【讨论】:
标准库支持mapping filenames to mimetypes。
您的问题听起来也像是您对 mimetype 以外的其他信息感兴趣。 stat 模块还将为您提供有关大小、所有者、上次修改时间等的信息,但除此之外,最常见的文件系统(Windows NTFS/FAT、Linux Ext 2/3、Mac OS X)不存储任何元数据或关于文件的“其他信息”。这就是为什么我们需要使用扩展来查找 mimetype 的原因。
【讨论】: