Threads and import
rsoh.woodhouse at googlemail.com
rsoh.woodhouse at googlemail.com
Wed May 28 15:31:45 EDT 2008
On May 28, 8:26 pm, "Diez B. Roggisch" <de... at nospam.web.de> wrote:
> rsoh.woodho... at googlemail.com schrieb:
>
>
>
> > 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?
>
> Works for me. And I don't see any reason why it shouldn't for you -
> unless you didn't show us the actual code.
>
> Diez
Strange. That is the code exactly as I run it using python 2.4.4 2.5.1
on Ubuntu 7.10. Which version of python/what platform were you using?
Rowan
More information about the Python-list
mailing list