Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.python > #8081
| Date | 2011-06-21 20:04 +1000 |
|---|---|
| From | Cameron Simpson <cs@zip.com.au> |
| Subject | Re: break in a module |
| References | <4dfc2084$0$30002$c3e8da3$5496439d@news.astraweb.com> |
| Newsgroups | comp.lang.python |
| Message-ID | <mailman.221.1308650694.1164.python-list@python.org> (permalink) |
On 18Jun2011 03:50, Steven D'Aprano <steve+comp.lang.python@pearwood.info> wrote:
| On Sat, 18 Jun 2011 12:36:42 +1000, Cameron Simpson wrote:
| > Just to throw another approach into the mix (because I was thinking
| > about the "finally" word), what about:
| >
| > raise StopImport
| >
| > along the lines of generators' "raise StopIteration".
| >
| > Then the import machinery can catch it, no new keyword is needed and no
| > existing keyword needs feature creeping.
|
| The only problem is that the importing module needs to catch it, or else
| you get a traceback. The importer shouldn't need to care what goes in
| inside the module.
I was thinking the import mechanism itself would catch it, not the user
of the "import" statement. Just as this:
for i in iterator:
...
quietly ceases the loop when the iterator raises StopIteration, the
importer would consider a module that raised StopImport during the import
to have finished its import successfully.
So the caller does an:
import foo
as normal, with no special wrapping. And the module goes:
spam()
if condition:
raise StopIteration
ham()
cheese()
Cheers,
--
Cameron Simpson <cs@zip.com.au> DoD#743
http://www.cskk.ezoshosting.com/cs/
In article <323C4DB9.6A76@ss1.csd.sc.edu>, lhartley@ss1.csd.sc.edu wrote:
| It still is true that the best touring bike is the one that you are
| riding right now. Anything can be used for touring. As long as you
| can travel, you are touring.
I beleive such true and profound statements are NOT allowed to be posted
in this newsgroup, and are also against the charter. You've been warned.
- Randy Davis DoD #0013 <randy@agames.com> in rec.moto
Back to comp.lang.python | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Re: break in a module Ethan Furman <ethan@stoneleaf.us> - 2011-06-14 16:28 -0700
Re: break in a module Erik Max Francis <max@alcyone.com> - 2011-06-14 16:51 -0700
Re: break in a module Eric Snow <ericsnowcurrently@gmail.com> - 2011-06-14 18:51 -0600
Re: break in a module Ben Finney <ben+python@benfinney.id.au> - 2011-06-15 11:33 +1000
Re: break in a module Eric Snow <ericsnowcurrently@gmail.com> - 2011-06-14 20:21 -0600
Re: break in a module Erik Max Francis <max@alcyone.com> - 2011-06-16 15:09 -0700
Re: break in a module Dave Angel <davea@ieee.org> - 2011-06-15 00:02 -0400
Re: break in a module Erik Max Francis <max@alcyone.com> - 2011-06-16 15:07 -0700
Re: break in a module Chris Angelico <rosuav@gmail.com> - 2011-06-17 09:27 +1000
Re: break in a module Erik Max Francis <max@alcyone.com> - 2011-06-16 16:29 -0700
Re: break in a module Eric Snow <ericsnowcurrently@gmail.com> - 2011-06-16 18:00 -0600
Re: break in a module Chris Angelico <rosuav@gmail.com> - 2011-06-17 10:01 +1000
Re: break in a module Erik Max Francis <max@alcyone.com> - 2011-06-16 18:13 -0700
Re: break in a module Ethan Furman <ethan@stoneleaf.us> - 2011-06-16 19:17 -0700
Re: break in a module Erik Max Francis <max@alcyone.com> - 2011-06-16 21:21 -0700
Re: break in a module Ian Kelly <ian.g.kelly@gmail.com> - 2011-06-16 22:53 -0600
Re: break in a module Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2011-06-17 00:48 +0000
Re: break in a module Chris Angelico <rosuav@gmail.com> - 2011-06-17 10:57 +1000
Re: break in a module Erik Max Francis <max@alcyone.com> - 2011-06-16 18:21 -0700
Re: break in a module Ethan Furman <ethan@stoneleaf.us> - 2011-06-16 19:11 -0700
Re: break in a module Ian Kelly <ian.g.kelly@gmail.com> - 2011-06-16 19:58 -0600
Re: break in a module Erik Max Francis <max@alcyone.com> - 2011-06-16 21:24 -0700
Re: break in a module Ian Kelly <ian.g.kelly@gmail.com> - 2011-06-16 22:50 -0600
Re: break in a module Erik Max Francis <max@alcyone.com> - 2011-06-16 22:20 -0700
Re: break in a module Chris Angelico <rosuav@gmail.com> - 2011-06-17 15:56 +1000
Re: break in a module Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2011-06-17 06:00 +0000
Re: break in a module Erik Max Francis <max@alcyone.com> - 2011-06-17 00:09 -0700
Re: break in a module Cameron Simpson <cs@zip.com.au> - 2011-06-18 12:36 +1000
Re: break in a module Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2011-06-18 03:50 +0000
Re: break in a module Chris Angelico <rosuav@gmail.com> - 2011-06-18 14:31 +1000
Re: break in a module Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2011-06-18 04:49 +0000
Re: break in a module Chris Angelico <rosuav@gmail.com> - 2011-06-18 15:06 +1000
Re: break in a module Cameron Simpson <cs@zip.com.au> - 2011-06-21 20:04 +1000
Re: break in a module Eric Snow <ericsnowcurrently@gmail.com> - 2011-06-17 00:25 -0600
Re: break in a module Chris Angelico <rosuav@gmail.com> - 2011-06-15 11:33 +1000
csiph-web