[Python-Dev] file() or open()? (original) (raw)

Skip Montanaro skip at pobox.com
Wed Jul 7 18:09:02 CEST 2004


Guido> I recently saw a checkin that changed a call to open() into a
Guido> call to file(), suggesting that using file() is more "politically
Guido> correct" than open().

Guido> I'm not sure I agree with this.  While open() and file() are
Guido> currently aliases for the same object, this may not always be the
Guido> case (it certainly wasn't always the case :-).  In the future, I
Guido> could see open() become a factory function again that could
Guido> return an instance of a different class depending on the mode
Guido> argument, the default encoding for files, or who knows what; but
Guido> file will always remain a class.

That was probably a checkin I made. I would have left it alone except the code was

file = open(...)

As long as I was changing the variable name to not mask the builtin I changed the call as well. Had it been

f = open(...)

I probably would have kept my hands off.

In any case, I was under the impression that file() was the wave of the future and open() a nod to the past.

Skip



More information about the Python-Dev mailing list