You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
mimetypes.guess_extension : AttributeError: 'NoneType' object has no attribute 'lower' #96264
Hi, when i call the function "guess_extension" from the mimetypes module, i get an error :
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/home/hg/Bureau/ezConverter/module.py", line 14, in getRealExtension
currentext = mime.guess_extension(x[0])
File "/usr/lib/python3.9/mimetypes.py", line 326, in guess_extension
return _db.guess_extension(type, strict)
File "/usr/lib/python3.9/mimetypes.py", line 192, in guess_extension
extensions = self.guess_all_extensions(type, strict)
File "/usr/lib/python3.9/mimetypes.py", line 171, in guess_all_extensions
type = type.lower()
AttributeError: 'NoneType' object has no attribute 'lower'
I dont think it's my code. But it is here :
import mimetypes as mime
def getRealExtension(filename):
x = mime.guess_type(filename)
currentext = mime.guess_extension(x[0])
# I import it to the shell and call the function.
Your filename Is probably None. If you can provide a small, complete example that we can run then we can take a look at it, otherwise not much we can do.
mimetypes.guess_type is documented to return None for the type portion of its return tuple when the type cannot be guessed, and mimetypes.guess_all_extensions (and, thereby, mimetypes.guess_extension) expects a strtype argument. There's no bug in the mimetypes module here.
You could work around this by using mimetypes.guess_extension(mimetypes.guess_type(filename)[0] or '').
Activity
ericvsmith commentedon Aug 25, 2022
Your
filenameIs probablyNone. If you can provide a small, complete example that we can run then we can take a look at it, otherwise not much we can do.zware commentedon Aug 25, 2022
mimetypes.guess_typeis documented to returnNonefor the type portion of its return tuple when the type cannot be guessed, andmimetypes.guess_all_extensions(and, thereby,mimetypes.guess_extension) expects astrtype argument. There's no bug in themimetypesmodule here.You could work around this by using
mimetypes.guess_extension(mimetypes.guess_type(filename)[0] or '').