How to terminate a script? How to terminate a script? python python

How to terminate a script?


import syssys.exit()

details from the sys module documentation:

sys.exit([arg])

Exit from Python. This is implemented by raising theSystemExit exception, so cleanup actions specified by finally clausesof try statements are honored, and it is possible to intercept theexit attempt at an outer level.

The optional argument arg can be an integer giving the exit status(defaulting to zero), or another type of object. If it is an integer,zero is considered “successful termination” and any nonzero value isconsidered “abnormal termination” by shells and the like. Most systemsrequire it to be in the range 0-127, and produce undefined resultsotherwise. Some systems have a convention for assigning specificmeanings to specific exit codes, but these are generallyunderdeveloped; Unix programs generally use 2 for command line syntaxerrors and 1 for all other kind of errors. If another type of objectis passed, None is equivalent to passing zero, and any other object isprinted to stderr and results in an exit code of 1. In particular,sys.exit("some error message") is a quick way to exit a program whenan error occurs.

Since exit() ultimately “only” raises an exception, it will only exitthe process when called from the main thread, and the exception is notintercepted.

Note that this is the 'nice' way to exit. @glyphtwistedmatrix below points out that if you want a 'hard exit', you can use os._exit(*errorcode*), though it's likely os-specific to some extent (it might not take an errorcode under windows, for example), and it definitely is less friendly since it doesn't let the interpreter do any cleanup before the process dies. On the other hand, it does kill the entire process, including all running threads, while sys.exit() (as it says in the docs) only exits if called from the main thread, with no other threads running.


A simple way to terminate a Python script early is to use the built-in quit() function. There is no need to import any library, and it is efficient and simple.

Example:

#do stuffif this == that:  quit()


Another way is:

raise SystemExit