Brendan wrote:
What is the difference on exit() and sys.exit() when called in the
main body of a script? From the command line they seem to have the
same effect.

In Python <=2.4 you had to use sys.exit() because __builtins__.exit() griped:

  tch...@asgix:~$ python2.4
  Python 2.4.4 (#2, Apr 15 2008, 23:43:20)
  [GCC 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
  >>> type(exit)
  <type 'str'>
  >>> exit()
  Traceback (most recent call last):
    File "<stdin>", line 1, in ?
  TypeError: 'str' object is not callable

In 2.5, it's an instance of site.Quitter which is callable, allowing it to behave like sys.exit() (from my observations, __builtins__.exit() and sys.exit() behave the same).

I tend to use sys.exit() because I've still got code running on machines mired at 2.4

-tkc




--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to