[Python-Dev] file()

Georg Brandl g.brandl at gmx.net
Mon Jun 12 21:11:05 CEST 2006


Guido van Rossum wrote:
> Yup, although it's a change in behavior that would need to be studied
> carefully for backwards incompatibilities. Usually it's given as a
> constant, so there won't be any problems; but there might be code that
> receives a mode string and attempts to test its validity by trying it
> and catching IOError, such code would have to be changed.
> 
> --Guido
> 
> On 6/12/06, Kristján V. Jónsson <kristjan at ccpgames.com> wrote:
>> I notice that file() throws an IOError when it detects an invalid mode
>> string.  Wouldn't a ValueError be more appropriate?
> 

The situation is even more complex with the current trunk. open() raises
ValueError if it detects an invalid the mode string, such as universal
newline mode and a writable mode combined (the definition of
what is invalid has been made stricter, the mode string now must begin
with r, w, a or U), but it raises IOError if the OS call to fopen() fails
because of an invalid mode string. This might need unification.

Georg



More information about the Python-Dev mailing list