Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #79730

Re: Status of side-effecting functions in python

From Roy Smith <roy@panix.com>
Newsgroups comp.lang.python
Subject Re: Status of side-effecting functions in python
Date 2014-10-26 17:56 -0400
Organization PANIX Public Access Internet and UNIX, NYC
Message-ID <roy-8A6FEF.17562126102014@news.panix.com> (permalink)
References <c5e3a7e7-5997-47ee-8e81-759f2342c87a@googlegroups.com> <mailman.15174.1414273325.18130.python-list@python.org> <438d510f-05ae-47dd-bcda-42a8b777c99b@googlegroups.com> <m2itm2$l5r$1@dont-email.me> <683c84d8-d916-4b63-b4b2-92cd2763e260@googlegroups.com>

Show all headers | View raw


In article <683c84d8-d916-4b63-b4b2-92cd2763e260@googlegroups.com>,
 wxjmfauth@gmail.com wrote:

> Le dimanche 26 octobre 2014 14:41:43 UTC+1, Dan Sommers a écrit :
> > On Sun, 26 Oct 2014 00:45:49 -0700, wxjmfauth wrote:
> > 
> > > Ditto for <fileobj>.write(). Why should it return "something" ?
> > > 
> > >>>> with open('z.txt', 'w') as f:
> > > ...     f.write('abc')
> > > ...     
> > > 3
> > 
> > OTOH, why shouldn't it return something?  In this case, it returns the
> > length of the string written.  This value is analogous to the value
> > returned by the underlying OS function (at least on a POSIX-like system,
> > where write(2) returns the number of bytes written).  This value can be
> > useful for detecting when things have gone wrong; e.g., disk full,
> > network down, pipe broken, etc.  Practicality definitely beats purity.
> > 
> > At one time, on a huge project, millions of lines of C and assembly
> > code, we had a local guideline *not* to write void functions.  The idea
> > was to return something that might be useful later, even if it seemed
> > unlikely now.  A simple success flag was sufficient; as functions grew,
> > often did their failure modes.
> > 
> > Dan
> 
> Yes and no. If something goes wrong in a .write() method,
> is not Python supposed to raise an error? (!)

Define "wrong".  It is not an error for a write() call to consume fewer 
bytes than were requested.  How would you expect this to be handled in 
Python?  Raise DataPartiallyWrittenError?

Back to comp.lang.python | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

Status of side-effecting functions in python Rustom Mody <rustompmody@gmail.com> - 2014-10-25 10:27 -0700
  Re: Status of side-effecting functions in python Wolfgang Maier <wolfgang.maier@biologie.uni-freiburg.de> - 2014-10-25 23:41 +0200
    Re: Status of side-effecting functions in python Dan Sommers <dan@tombstonezero.net> - 2014-10-25 22:22 +0000
      Re: Status of side-effecting functions in python Terry Reedy <tjreedy@udel.edu> - 2014-10-25 18:53 -0400
    Re: Status of side-effecting functions in python wxjmfauth@gmail.com - 2014-10-26 00:45 -0700
      Re: Status of side-effecting functions in python Dan Sommers <dan@tombstonezero.net> - 2014-10-26 13:41 +0000
        Re: Status of side-effecting functions in python Rustom Mody <rustompmody@gmail.com> - 2014-10-26 07:53 -0700
        Re: Status of side-effecting functions in python wxjmfauth@gmail.com - 2014-10-26 09:26 -0700
          Re: Status of side-effecting functions in python Marko Rauhamaa <marko@pacujo.net> - 2014-10-26 18:50 +0200
          Re: Status of side-effecting functions in python Roy Smith <roy@panix.com> - 2014-10-26 17:56 -0400
            Re: Status of side-effecting functions in python Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2014-10-27 22:30 +1100
              Re: Status of side-effecting functions in python Chris Angelico <rosuav@gmail.com> - 2014-10-27 22:44 +1100
              Re: Status of side-effecting functions in python Roy Smith <roy@panix.com> - 2014-10-27 09:28 -0400
              Re: Status of side-effecting functions in python Grant Edwards <invalid@invalid.invalid> - 2014-10-27 14:45 +0000
                Re: Status of side-effecting functions in python Marko Rauhamaa <marko@pacujo.net> - 2014-10-27 17:14 +0200
                Re: Status of side-effecting functions in python Nobody <nobody@nowhere.invalid> - 2014-10-28 03:52 +0000
                Re: Status of side-effecting functions in python Marko Rauhamaa <marko@pacujo.net> - 2014-10-28 11:07 +0200
                Re: Status of side-effecting functions in python Marko Rauhamaa <marko@pacujo.net> - 2014-10-28 11:10 +0200
                .write() behavior Alan Bawden <alan@scooby-doo.csail.mit.edu> - 2014-10-29 01:06 -0400
                Re: .write() behavior Marko Rauhamaa <marko@pacujo.net> - 2014-10-29 08:00 +0200
                Re: .write() behavior Alan Bawden <alan@scooby-doo.csail.mit.edu> - 2014-10-31 16:32 -0400
    Re: Status of side-effecting functions in python Grant Edwards <invalid@invalid.invalid> - 2014-10-27 14:22 +0000

csiph-web