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

5 things to love about python Syntax Takes a bit of time to get used to it but after a certain point it just becomes natural. Like english. No heavy-weight operators or complicate...
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...
Solr python interface – Sunburnt fork I forked tow (Toby White, gratitude for his great work) sunburnt repository from github because I needed range facet funcionality and the workaround (...

About charlesnagy

I'm out of many things mostly automation expert, database specialist, system engineer and software architect with passion towards data, searching it, analyze it, learn from it. I learn by experimenting and this blog is a result of these experiments and some other random thought I have time to time.
Bookmark the permalink.
  • Pierre

    Thanks very much 🙂 I was stuck for about 30 mins., too. This did the trick.