Python error: AttributeError: __exit__

I just had a 30 minutes worth of debugging on a stupid mistake I made. I wanted to check the free space on the target server before I actually start to do the cloning of a database in the python framework we wrote for automating DBA tasks. The check was pretty simple:

But this raised an error: AttributeError: __exit__

I’ve spent almost 30 minutes when I realized the os.statvfs returns and “old style” object which doesn’t have __exit__ method by default. [1]

Changed the code to not use with [2] fixed the problem:

[1] object type in Python: http://docs.python.org/2/library/functions.html#object

[2] read more about with statement: http://www.python.org/dev/peps/pep-0343/

You might like these too

Priority queue in Redis aka ZPOP Redis list is great to use it as a processing queue. So great that it sort of became the standard and many people using that instead of dedicated queu...
Stream cypher (encrypt) with digital envelope in P... Generating. storing and keeping inventory of hundreds of terabyte large database backups is a challenge by itself which we do on daily basis. It's eve...
Useful python – Class based decorators and c... There are many things why Pyhton is my standard go-to language if it comes to implement something. It's either a website, automation, data-mining or c...