Re: aborting without killing the python interpreter
import sys def main(): print 'exiting' sys.exit() try: main() except SystemExit: pass I suspect I may need to use exceptions, but I'm hoping not to need them. Thanks. Use the Exceptions! -- http://mail.python.org/mailman/listinfo/python-list
aborting without killing the python interpreter
I wrote a simple little function for exiting with an error message: def error ( message ): print_stack(); exit (\nERROR: + message + \n) It works fine for executing as a script, but when I run it interactively in the python interpreter it kills the interpreter. That's not what I want. Is there a simple way to have a script terminate but not have it kill the python interpreter when I run it interactively? I suspect I may need to use exceptions, but I'm hoping not to need them. Thanks. -- http://mail.python.org/mailman/listinfo/python-list
Re: aborting without killing the python interpreter
Russ [EMAIL PROTECTED] wrote in message news:[EMAIL PROTECTED] I wrote a simple little function for exiting with an error message: def error ( message ): print_stack(); exit (\nERROR: + message + \n) It works fine for executing as a script, How? In the standard interpreter, 'exit' is bound to the string 'Use Ctrl-Z plus Return to exit.' so trying to call it as a function fails. but when I run it interactively in the python interpreter it kills the interpreter. That's not what I want. Is there a simple way to have a script terminate but not have it kill the python interpreter when I run it interactively? I suspect I may need to use exceptions, but I'm hoping not to need them. Thanks. The interactive interpreter runs a statement at a time and gives a prompt after any output. From a command shell, you can use a flag (-i I think) to enter interactive mode after the script end. Terry Jan Reedy -- http://mail.python.org/mailman/listinfo/python-list
Re: aborting without killing the python interpreter
correction Terry Reedy [EMAIL PROTECTED] wrote in message news:[EMAIL PROTECTED] How? In the standard interpreter, 'exit' is bound to the string 'Use Ctrl-Z plus Return to exit.' This is, of course, Windows specific. Other systems have other strings. -- http://mail.python.org/mailman/listinfo/python-list
Re: aborting without killing the python interpreter
Terry Reedy wrote: How? In the standard interpreter, 'exit' is bound to the string 'Use Ctrl-Z plus Return to exit.' so trying to call it as a function fails. I'm _presuming_ there was a hidden `from sys import *` in there. Hence calling exit with the string (the help for sys.exit shows that if a string is passed in, it will be printed before the process exits with failure -- something I wasn't aware of actually). -- Erik Max Francis [EMAIL PROTECTED] http://www.alcyone.com/max/ San Jose, CA, USA 37 20 N 121 53 W AIM erikmaxfrancis God heals, and the doctor takes the fee. -- Benjamin Franklin -- http://mail.python.org/mailman/listinfo/python-list
Re: aborting without killing the python interpreter
Russ wrote: I wrote a simple little function for exiting with an error message: def error ( message ): print_stack(); exit (\nERROR: + message + \n) It works fine for executing as a script, but when I run it interactively in the python interpreter it kills the interpreter. That's not what I want. Is there a simple way to have a script terminate but not have it kill the python interpreter when I run it interactively? I suspect I may need to use exceptions, but I'm hoping not to need them. Thanks. Exceptions do *exactly* what you want in a very clean and simple way. They are a fundamental feature of Python. Do not fear them. They are your friends. -- Robert Kern [EMAIL PROTECTED] In the fields of hell where the grass grows high Are the graves of dreams allowed to die. -- Richard Harter -- http://mail.python.org/mailman/listinfo/python-list