Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.python > #75864
| Newsgroups | comp.lang.python |
|---|---|
| Date | 2014-08-07 22:35 -0700 |
| References | <7bd83ac7-17e6-49c2-b5c7-3236c900d005@googlegroups.com> <mailman.12720.1407394838.18130.python-list@python.org> <roy-496ACC.07490507082014@news.panix.com> <53e3afd9$0$29970$c3e8da3$5496439d@news.astraweb.com> <f865db66-8cb8-4796-a8f0-bedfb2ef5079@googlegroups.com> |
| Message-ID | <baf02866-34d3-4411-93f8-c3e8e0ef9d04@googlegroups.com> (permalink) |
| Subject | Re: AttributeError: 'module' object has no attribute 'fork' |
| From | Rustom Mody <rustompmody@gmail.com> |
On Friday, August 8, 2014 10:49:27 AM UTC+5:30, Rustom Mody wrote:
> On Thursday, August 7, 2014 10:26:56 PM UTC+5:30, Steven D'Aprano wrote:
> > Roy Smith wrote:
> > > Peter Otten wrote:
> > >> os.fork()
> > >> Fork a child process.
> > >> ...
> > >> Availability: Unix.
> > >> """
> > >> You are using the wrong operating system ;)
> > > To be honest, this could be considered a buglet in the os module. It
> > > really should raise:
> > > NotImplementedError("fork() is only available on unix")
> > > or perhaps even, as Peter suggests:
> > > NotImplementedError("You are using the wrong operating system")
> > > either of those would be better than AttributeError.
> > I disagree. How would you tell if fork is implemented? With the current
> > behaviour, telling whether fork is implemented or not is simple:
> > is_implemented = hasattr(os, "fork")
> > With your suggestion:
> > try:
> > pid = os.fork()
> > except NotImplementedError:
> > is_implemented = False
> > else:
> > if pid == 0:
> > # In the child process.
> > os._exit(0) # Unconditionally exit, right now, no excuses.
> > is_implemented = True
> > which is not obvious, simple or cheap.
> Surely I am missing something but why not check os.fork before
> checking os.fork() ?
> Something along these lines
> >>> try:
> ... os.fork
> ... except AttributeError:
> ... ii = False
> ... else:
> ... ii = True
> Of course more appropriate would be something along the lines:
> catch AttributeError and re-raise NotImplementedError
Thinking about this a bit more I see that NotImplemented is under RuntimeError.
Probably a subclass of AttributeError -- PortabilityError?? Cant think of a
good name -- is what is desired
Back to comp.lang.python | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
AttributeError: 'module' object has no attribute 'fork' Satish ML <satishmlwizpro@gmail.com> - 2014-08-06 23:44 -0700
Re: AttributeError: 'module' object has no attribute 'fork' Peter Otten <__peter__@web.de> - 2014-08-07 09:00 +0200
Re: AttributeError: 'module' object has no attribute 'fork' Roy Smith <roy@panix.com> - 2014-08-07 07:49 -0400
Re: AttributeError: 'module' object has no attribute 'fork' Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2014-08-08 02:56 +1000
Re: AttributeError: 'module' object has no attribute 'fork' Rustom Mody <rustompmody@gmail.com> - 2014-08-07 22:19 -0700
Re: AttributeError: 'module' object has no attribute 'fork' Rustom Mody <rustompmody@gmail.com> - 2014-08-07 22:35 -0700
Re: AttributeError: 'module' object has no attribute 'fork' Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2014-08-08 15:48 +1000
Re: AttributeError: 'module' object has no attribute 'fork' Rustom Mody <rustompmody@gmail.com> - 2014-08-08 00:17 -0700
Re: AttributeError: 'module' object has no attribute 'fork' Chris Angelico <rosuav@gmail.com> - 2014-08-08 17:32 +1000
csiph-web