exit() or sys.exit()
Tim Chase
python.list at tim.thechases.com
Wed Jun 17 12:33:44 EDT 2009
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:
tchase at 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
More information about the Python-list
mailing list