当前位置:Gxlcms > Python > Python基础学习代码之执行环境

Python基础学习代码之执行环境

时间:2021-07-01 10:21:17 帮助过:33人阅读

class C(object):
    def __call__(self, *args, **kwargs):
        print "I'm callable! called with args:\n",args
c = 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 = 0
print 'x is currently:',x
while 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

#loopmake
dashes = '\n' + '-' * 50
exec_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 True
def bar():
    'bar() does not much'
    return True
foo.__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' % eachattr

import os
#print os.system('ping www.qq.com')

f = os.popen('dir')
data = f.readlines()
f.close()
print data

## 替换os.system
from subprocess import call
res = call(('dir'),shell=True)

## 替换os.popen
from subprocess import PIPE,Popen
f = Popen(('wmic','diskdrive'),stdout=PIPE).stdout
data = f.readlines()
f.close()
print data

import sys
def 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_func

def my_exit():
    print 'exit python'
sys.exitfunc = my_exit
print 'hello,begin exit.'
sys.exit(1)

以上就是Python基础学习代码之执行环境的内容,更多相关内容请关注PHP中文网(www.gxlcms.com)!

人气教程排行