前言
一、为什么要获取文件后缀?
有些时候需要获取到文件的类型,然后做一个判断处理。
二、使用步骤
1.文本类型的之间判断
代码如下(示例):
方法1 这个方法相当于是 通过 . 来split 来获取到的,自己也可以通过split(‘.’)来实现。
PC端的名字里面是不能包含 "."的特殊符号。
file_path = '需求.txt'
filename, file_type = os.path.splitext(file_path)
print(filename, file_type)
或者你可以直接判断是否包含 ‘.txt’ 字符来判断
print('.txt' in file_path)
2.第三方库filetype
pip3 install filetype
代码如下(示例):
import filetype
# pip3 install filetype
# 需要真实存在的文件才能判断
# 支持的类型有限
file_path = r'C:\Users\Administrator\Desktop\getit.png]'
with open(file_path, 'rb') as f:
kind = filetype.guess(f)
print(kind.extension, kind.mime)
支持的类型如下:
Supported types
Image:
dwg - image/vnd.dwg
xcf - image/x-xcf
jpg - image/jpeg
jpx - image/jpx
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
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
Font:
woff - application/font-woff
woff2 - application/font-woff
ttf - application/font-sfnt
otf - application/font-sfnt
Application
wasm - application/wasm
总结
欢迎关注,留言,咨询,交流!