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:])) Additionally, the necessity of "import sys" makes some one-liners a little more unwieldy than they should be--it is surely the module I am missing the most in one-liners. For example, with this proposal, this inelegant one-liner: $ python -c "import sys; print ''.join(sorted(sys.stdin.readlines()))" could be replaced by: $ python -c "print ''.join(sorted(sys.stdin.readlines()))" Since sys is surely the most commonly used module (it is imported in 108 of 188 Python 2.4 stdlib modules on my system, and certainly more than any other module), I would hope few people would be affected by a namespace collision. Other languages (e.g. C#) always make their system namespace available without needing a special import. 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. -- Michael Hoffman -- http://mail.python.org/mailman/listinfo/python-list