Hi, I'm trying to work out some strange (to me) behaviour that I see when running a python script in two different ways (I've inherited some code that needs to be maintained and integrated with another lump of code). The sample script is:
# Sample script, simply create a new thread and run a # regular expression match in it. import re import threading class TestThread(threading.Thread): def run(self): print('start') try: re.search('mmm', 'mmmm') except Exception, e: print e print('finish') tmpThread = TestThread() tmpThread.start() tmpThread.join() import time for i in range(10): time.sleep(0.5) print i # end of sample script Now if I run this using: $ python ThreadTest.py then it behaves as expected, ie an output like: start finish 0 1 2 ... But if I run it as follows (how the inherited code was started): $ python -c "import TestThread" then I just get: start I know how to get around the problem but could someone with more knowledge of how python works explain why this is the case? Thanks, Rowan -- http://mail.python.org/mailman/listinfo/python-list