Install filetype via pip
masterInstall the filetype package using pip to enable file type and MIME type inference via magic number signature checking.
pip install filetyperepository·master·Indexed 20 days ago
https://github.com/h2non/filetype.pyA lightweight, dependency-free Python package for inferring file types and MIME types by inspecting magic number signatures of files or byte buffers using the filetype.guess() function.
Install the filetype package using pip to enable file type and MIME type inference via magic number signature checking.
pip install filetypeUse filetype.guess() to identify a file's type. You can pass a file path or a buffer (bytes) to the function. If the file type cannot be determined, it returns None.
When a match is found, it returns an object containing:
extension: The file extension (e.g., jpg).mime: The MIME type (e.g., image/jpeg).import filetype
def main():
# You can pass a file path or a buffer of bytes
kind = filetype.guess('tests/fixtures/sample.jpg')
if kind is None:
print('Cannot guess file type!')
return
print('File extension: %s' % kind.extension)
print('File MIME type: %s' % kind.mime)
if __name__ == '__main__':
main()The following file types are supported by filetype. Each entry maps an extension to its corresponding MIME type.
### Image
- **dwg** - `image/vnd.dwg`
- **xcf** - `image/x-xcf`
- **jpg** - `image/jpeg`
- **jpx** - `image/jpx`
- **jxl** - `image/jxl`
- **png** - `image/png`
- **apng** - `image/apng`
- **gif** - `image/gif`
- **webp** - `image/webp`
- **cr2** - `image/x-canon-cr2`
- **tif** - `image/tiff`
- **bmp** - `image/bmp`
- **jxr** - `image/vnd.ms-photo`
- **psd** - `image/vnd.adobe.photoshop`
- **ico** - `image/x-icon`
- **heic** - `image/heic`
- **avif** - `image/avif`
- **qoi** - `image/qoi`
- **dds** - `image/dds`
### Video
- **3gp** - `video/3gpp`
- **mp4** - `video/mp4`
- **m4v** - `video/x-m4v`
- **mkv** - `video/x-matroska`
- **webm** - `video/webm`
- **mov** - `video/quicktime`
- **avi** - `video/x-msvideo`
- **wmv** - `video/x-ms-wmv`
- **mpg** - `video/mpeg`
- **flv** - `video/x-flv`
### Audio
- **aac** - `audio/aac`
- **mid** - `audio/midi`
- **mp3** - `audio/mpeg`
- **m4a** - `audio/mp4`
- **ogg** - `audio/ogg`
- **flac** - `audio/x-flac`
- **wav** - `audio/x-wav`
- **amr** - `audio/amr`
- **aiff** - `audio/x-aiff`
### Archive
- **br** - `application/x-brotli`
- **rpm** - `application/x-rpm`
- **dcm** - `application/dicom`
- **epub** - `application/epub+zip`
- **zip** - `application/zip`
- **tar** - `application/x-tar`
- **rar** - `application/x-rar-compressed`
- **gz** - `application/gzip`
- **bz2** - `application/x-bzip2`
- **7z** - `application/x-7z-compressed`
- **xz** - `application/x-xz`
- **pdf** - `application/pdf`
- **exe** - `application/x-msdownload`
- **swf** - `application/x-shockwave-flash`
- **rtf** - `application/rtf`
- **eot** - `application/octet-stream`
- **ps** - `application/postscript`
- **sqlite** - `application/x-sqlite3`
- **nes** - `application/x-nintendo-nes-rom`
- **crx** - `application/x-google-chrome-extension`
- **cab** - `application/vnd.ms-cab-compressed`
- **deb** - `application/x-deb`
- **ar** - `application/x-unix-archive`
- **Z** - `application/x-compress`
- **lzo** - `application/x-lzop`
- **lz** - `application/x-lzip`
- **lz4** - `application/x-lz4`
- **zstd** - `application/zstd`
### Document
- **doc** - `application/msword`
- **docx** - `application/vnd.openxmlformats-officedocument.wordprocessingml.document`
- **odt** - `application/vnd.oasis.opendocument.text`
- **xls** - `application/vnd.ms-excel`
- **xlsx** - `application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`
- **ods** - `application/vnd.oasis.opendocument.spreadsheet`
- **ppt** - `application/vnd.ms-powerpoint`
- **pptx** - `application/vnd.openxmlformats-officedocument.presentationml.presentation`
- **odp** - `application/vnd.oasis.opendocument.presentation`
### Font
- **woff** - `application/font-woff`
- **woff2** - `application/font-woff2`
- **ttf** - `application/font-sfnt`
- **otf** - `application/font-sfnt`
### Application
- **wasm** - `application/wasm`