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)