Python 检测文件的mime/扩展名
我正在尝试编写一个程序,当用户选择一个文件时,它可以告诉他们它是jpg、wav还是其他类型的文件,任何其他类型的文件都属于html。我被困在试图处理它是否是这些类型中的任何一种Python 检测文件的mime/扩展名,python,Python,我正在尝试编写一个程序,当用户选择一个文件时,它可以告诉他们它是jpg、wav还是其他类型的文件,任何其他类型的文件都属于html。我被困在试图处理它是否是这些类型中的任何一种 def openSoundOrPicture(): file=pickAFile() print file print len(file) start=file.rfind('.') print start if start !=-1: 这是我到目前为止所做的,但它不起作用。顺便说一句,我对Py
def openSoundOrPicture():
file=pickAFile()
print file
print len(file)
start=file.rfind('.')
print start
if start !=-1:
这是我到目前为止所做的,但它不起作用。顺便说一句,我对Python或任何编码都是新手
def openSoundOrPicture():
file=pickAFile()
print file
ln=len(file)
print ln
start=file.rfind('.')
print start
if start !=-1:
if file[start:ln]==".jpg"
print "File type:jpg"
elif file[start:ln]==".wav"
print "File type:wav"
您基本上是在尝试按扩展名对文件进行分类。认识到还有其他类似的方法。但是,对于您要求执行的操作,请查看以下代码段:
recognized_types = ["jpg", "wav"]
default_type = "html"
file = pick_a_file()
file_extension = os.path.splitext(file)
if file_extension in recognized_types:
print "File Type: " + file_extension
else:
print "File Type: " + default_type
使用类似start的文件[start:]进行切片,以将扩展名转换为单独的字符串,然后进行相应的比较查看,它可以为给定文件名的文件类型提供一个片段。否则,会有一个字符串,返回基文件名及其扩展名,作为单独的字符串。@RNar:为什么?os.path.splitext有什么问题,它会为您拆分扩展?@MartijnPieters不同的方法,相同的值。我想既然OP已经得到了索引,那么最好使用它,这样可以避免外部导入,尽管我怀疑他是否已经在使用os,如果他正在使用文件,这就是我到目前为止所做的