On 14/11/2012 11:51, Hans Mulder wrote: > It would be nice if he could give specific error messages, e.g. > > "Can't write %s because it is locked by %s." > > vs. > > "Can't write %s because you don't have write access." > > I can't speak for Ali, but I'm always annoyed by error messages > listing several possible cuases, such as "Can't delete file, > because the source or destination is in use".
(I realise you're not demanding this particular behaviour from Python but just to expand on what the obstacles are to this at present): Speaking merely from the point of view of the current Python implementation on Windows, there are two obstacles to this: * Python calls into the CRT which simply returns 13 (EACCESS) for both of these situations. Obviously, Python could do its own thing on Windows, partly reimplementing what the CRT does anyway and giving more precise feedback. Equally obviously, this wouldn't be a trivial exercise. * The added information -- who's locked the file, what permissions are in place which prevent you gaining the requested access -- is surprisingly fiddly to get hold of and would be something of an overhead for the majority of the time when it's not wanted. Of course, in this hypothetical Python one could add some sort of flag to the open() function which requested or not the additional information. The first obstacle is more significant than the second but neither is negligible. TJG -- http://mail.python.org/mailman/listinfo/python-list