From python docs: "[ValueError is ]raised when a built-in operation or function receives an argument that has the right type but an inappropriate value"

I would raise a different error here, maybe [OSError](http://docs.python.org/2/library/exceptions.html#exceptions.OSError) ?