> Actually, what I'm doing is keeping a pending item log in memory as an array > and then saving it to the DB at the end of the program, but what happens if > the user hits ctrl-c, then the pending items array is lost. That's the use > case that I'm looking for a solution to.
http://docs.python.org/library/exceptions.html#exceptions.KeyboardInterrupt Ctrl-c generates a KeyboardInterrupt exception which you can catch with a try-except clause. Of course, if the user hits ctrl-c again while executing the "except" portion of the python code, it will generate another exception. The second exception will not be caught without another explicit try-except clause and ad infinitum for the third press of ctrl-c. You probably want to rethink your process. You can write the item log to the db in the except clause but this can be buggy as a second ctrl-c will stop it. Often users will repeatedly hit ctrl-c until the program stops. Alternatively, you can store the item log in the db and update it as the program progresses. This will be the most robust as it will also work for cases where the program is terminated without the use of the keyboard (i.e. kill -9, task manager, computer reboot, etc.) but it might also slow the program down. You could also try writing the item log to a local file using pickle or csv. Ramit This email is confidential and subject to important disclaimers and conditions including on offers for the purchase or sale of securities, accuracy and completeness of information, viruses, confidentiality, legal privilege, and legal entity disclaimers, available at http://www.jpmorgan.com/pages/disclosures/email. _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: http://mail.python.org/mailman/listinfo/tutor