Outra maneira de ver isso. Confira os detalhes da exceção:
In [49]: try:
...: open('file.DNE.txt')
...: except Exception as e:
...: print(dir(e))
...:
['__cause__', '__class__', '__context__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__setstate__', '__sizeof__', '__str__', '__subclasshook__', '__suppress_context__', '__traceback__', 'args', 'characters_written', 'errno', 'filename', 'filename2', 'strerror', 'with_traceback']
Existem muitas "coisas" a serem acessadas usando a sintaxe 'as e'.
Esse código foi feito apenas para mostrar os detalhes dessa instância.
except Exception, e:eexcept Exception as e:. Esta pergunta pergunta qual é a diferença entreexcept:eexcept Exception as e:.