class C(object): def __call__(self, *args, **kwargs): print "I'm callable! called with args:\n",argsc = C()c('a',1)single_code = compile("print 'hello,world!'",'','single')exec(single_code)eval_code = compile('100*3','','eval')print eval(eval_code)#exec_code = compile("""req = input('input:')#for eachnum in range(req):# print eachnum""",'','exec')#exec(exec_code)exec """x = 0print 'x is currently:',xwhile x < 5: x+=1 print 'incrementing x to:',x """#f = open('c14.py')#exec f#print f.tell()#print f.close()#from os.path import getsize#getsize('c14.py')#f.seek(0)#exec f#loopmakedashes = '\n' + '-' * 50exec_dict = { 'f':""" for %s in %s: print %s """, 's':""" %s = 0 %s = %s while %s < len(%s): print %s[%s] %s = %s + 1 """, 'n':""" %s = %d while %s < %d: print %s %s = %s + %d """ }def main(): ltype = raw_input('Loop type?[for/while]') dtype = raw_input('Data type?[number/seq]') if dtype == 'n': start = input('start value?:') stop = input('ending value?:') step = input('steping value?:') seq = str(range(start,stop,step))def foo(): return Truedef bar(): 'bar() does not much' return Truefoo.__doc__ = 'foo() does not much'foo.tester = """if foo(): print 'passed'else: print 'failed'"""for eachattr in dir(): obj = eval(eachattr) if isinstance(obj,type(foo)): if hasattr(obj,'__doc__'): print '\nfunction "%s" has a doc string:\n\t%s' % (eachattr,obj.__doc__) if hasattr(obj,'tester'): print '\nfunction "%s" has tester' % eachattr exec(obj.tester) else: print '%s function has no tester' % eachattr else: print '%s is not a function' % eachattrimport os#print os.system('ping www.qq.com')f = os.popen('dir')data = f.readlines()f.close()print data## 替换os.systemfrom subprocess import callres = call(('dir'),shell=True)## 替换os.popenfrom subprocess import PIPE,Popenf = Popen(('wmic','diskdrive'),stdout=PIPE).stdoutdata = f.readlines()f.close()print dataimport sysdef usage(): print 'At least 2 arguments' print 'usage: args.py arg1 arg2 [arg3....]' sys.exit(1)argc = len(sys.argv)#if argc < 3:# usage()prev_exit_func = getattr(sys,'exitfunc',None)def my_exit_func(old_exit=prev_exit_func): if old_exit is not None and callable(old_exit): old_exit() sys.exitfunc = my_exit_funcdef my_exit(): print 'exit python'sys.exitfunc = my_exitprint 'hello,begin exit.'sys.exit(1)