Proposal: add sys to __builtins__
Michael J. Fromberger
Michael.J.Fromberger at Clothing.Dartmouth.EDU
Mon Sep 5 09:34:23 EDT 2005
In article <Xns96C4A9300C939reederz at 63.223.7.253>,
Rick Wotnaz <desparn at wtf.com> wrote:
> Michael Hoffman <cam.ac.uk at mh391.invalid> wrote in
> news:df7jlu$1te$1 at gemini.csx.cam.ac.uk:
>
> > What would people think about adding sys to __builtins__ so that
> > "import sys" is no longer necessary? This is something I must
> > add to every script I write that's not a one-liner since they
> > have this idiom at the bottom:
> >
> > if __name__ == "__main__":
> > sys.exit(main(sys.argv[1:]))
> >
> > [...]
> >
> > In short, given the wide use of sys, its unambiguous nature, and
> > the fact that it really is built-in already, although not
> > exposed as such, I think we would be better off if sys were
> > always allowed even without an import statement.
>
> +1 here. As far as I'm concerned, both os and sys could be special-
> cased that way. That said, I would guess the likelihood of that
> happening is 0.
While I'm mildly uncomfortable with the precedent that would be set by
including the contents of "sys" as built-ins, I must confess my
objections are primarily aesthetic: I don't want to see the built-in
namespace any more cluttered than is necessary -- or at least, any more
than it already is.
But "os" is another matter -- the "os" module contains things which
might well not be present in an embedded Python environment (e.g., file
and directory structure navigation, stat). Do you really want to force
everyone to deal with that? Is it so much more work to add "import os"
to those Python programs that require it?
Of course, you might counter "why should we force everybody else to type
`import os' just in case somebody wants to imbed Python?" But then, why
don't we just include the whole standard library in __builtins__? Or,
since that would be too much, maybe we survey the user community and
include the top fifteen most included modules! Where do you draw the
line? Do you really want to hard-code user opinions into the language?
Right now, we have a nice, simple yet effective mechanism for
controlling the contents of our namespaces. I don't think this would be
a worthwhile change. -1.
-M
--
Michael J. Fromberger | Lecturer, Dept. of Computer Science
http://www.dartmouth.edu/~sting/ | Dartmouth College, Hanover, NH, USA
More information about the Python-list
mailing list