Le vendredi 01 juillet 2011 à 11:24 +0200, Antoine Pitrou a écrit : > On Thu, 30 Jun 2011 23:25:59 +0200 > victor.stinner <python-check...@python.org> wrote: > > http://hg.python.org/cpython/rev/0c49260e85a0 > > changeset: 71103:0c49260e85a0 > > user: Victor Stinner <victor.stin...@haypocalc.com> > > date: Thu Jun 30 23:25:47 2011 +0200 > > summary: > > Issue #12451: Add support.create_empty_file() > > > > We don't need to create a temporary buffered binary or text file object > > just to > > create an empty file. > > Is there a reason for this?
The code was correct. I think that a function with an explicit name is better than the open().close() pattern (which has various flavours, see the diff). This pattern came sometimes with a comment explaining what it does (create an empty file), which let me think that it's not easy to understand what it is supposed to do (if you don't have the comment). My initial need was to make quiet a warning (of my patched Python, see #12451) if a file is opened in text mode without an explicit encoding. > I find it quite explicit and obvious what the following does: > > with open("somefile", "wb"): > pass For "wb", the only gain is to avoid the creation of temporary FileIO and BufferedWriter objects, a micro optimisation. Most of the time, "w" mode was used, so another temporary TextIOWrapper object was also created. I also saw "w+" mode (use BufferedRandom+TextIOWrapper objects). Victor _______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com