On Mar 7, 10:12 am, [EMAIL PROTECTED] wrote: > I have various bits of code I want to interpret and run at runtime in > eval ...
import sys from time import clock, sleep from threading import Timer TimeoutError= type('TimeoutError',(Exception,),{}) class Elapse: def __init__( self ): self.flag= False def set( self ): self.flag= True def tr( frame, event, arg ): if elapse.flag: raise TimeoutError return tr def sleeper(): while 1: sleep( .3 ) print( 'tick' ) def factercomp( n ): val= 1 for i in range( 1, n ): val*= i return val def facter( n ): print( factercomp( n ) ) def runit( f, *ar ): global elapse elapse= Elapse() t= Timer( 1, elapse.set ) t.start() sys.settrace( tr ) try: f( *ar ) except TimeoutError: print( 'time elapse' ) runit( sleeper ) runit( facter, 10 ) runit( facter, 20 ) runit( facter, 10000 ) runit( facter, 100000 ) ''' tick tick tick time elapse 362880 121645100408832000 time elapse time elapse ''' -- http://mail.python.org/mailman/listinfo/python-list