您的位置:首页 > 编程语言 > Python开发

Python核心编程---读书笔记:第14章 执行环境

2017-03-20 22:57 453 查看
 

第14章执行环境

内建函数(BIFs):用C+++编写的,

bif.__doc__ :文档自复查un

bif.__name__ :自复查un类型的文档名

 

用户定义的函数(UDF)

udf.__func_dict :函数属性的名字空间

 

内建方法:BIMs

内建类型才有内建方法

 

类的实例:提供__call__方法,可创建可调用的对象

定义类的时候实现__call__方法,类的实例才成为可调用的

可执行对象和内建函数

callable(obj) : 如果obj可调用,返回True,否则返回False

是布尔函数,确定对象是否可以通过函数操作符(())来调用,可调用返回True

 

# callable(func) :判断函数func是否是可以调用的,true可调用
def callableTest():

    isCanCall = callable(dir)

    print(isCanCall)

    #类是可以调用的

    isCanCall = callable(Test2)

    print(isCanCall)
 

 

compile() :允许程序员在运行时刻生成代码对象

用exec或eval()执行字符串格式的Python代码

参数:

第一个参数:待编译的python代码,实际就是执行语句等

第二个字符串,表示存放代码对象的文件名

第三个参数:字符串,表明代码对象类型,

‘eval’ :可求职表达式

‘single’:单一可执行语句

‘exec’:可执行语句组

eval_code = compile(‘100 + 200’ , ‘ ’ , ‘eval’)

eval(eval_code)

 

eval():对表达式求值,后者可以为自复查un或内建函数

 

exec obj 被执行对象(obj)可以只是原始的字符串

exec

 

14.4 导入其他程序

模块倒入后,就执行所有模块

处理无需导入执行的代码:放入

if __name__ == “__main__” 内部

因为从其他模块倒入。其__name__不是 __main__

 

execfile(filename):执行模块,以现有的执行环境下运行

 

14.5 执行其他程序

os模块可执行外部程序

system(cmd) :执行程序cmd

fork():创建和父进程并行的子进程,返回两次,一次给父进程,

         一次给子进程

exec1(file , arg0 , arg1 , …) :用参数列表arg0,1等执行文件

spawn*(mode , file , args [, env])

wait():等待子进程完成

result = os.system(‘cat /etc/passwd’)

 

os.popen():可建立执行陈股的单向连接

result = os.popen(‘uname -a’)

 

14.5.5 subprocess模块

from subprocess import Popen, PIPE

 

sys.exit(status =0):退出程序

sys.eitfunc = my_exit_func  执行清理函数,

调用sys.eit()在解释器退出之前会用到

 

os.kill() :发送信号给进程,SIGINT ,SIGQUIT,来使进程终结
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: