简单来说,python的内置函数exec()就是:“执行它”,括号中有什么,就执行什么。就像 java script 中的html标签语句的引用执行,用exec()将内容执行。
来个例子会比较直观:
// Python exec() 执行语句
i = 1
j = 2
exec("res=i*j")
print("Result is %s"%res)
运行结果是:
2
更生动地讲,exec()的就是“帮我执行一下()”,那就有一个问题,它存在的意义又是什么呢?为啥多打那几个字母不直接让编译器执行呢?
实际项目中常常会遇到将python代码写入其他文件中,比如.txt文件等等,那么就可以用exec()来将文件中的python代码读取并执行。例如:
// 下列语句存储在test.txt文件中
i = 1
j = 2
res=i*j
print("Result is %s"%res)
// 执行
with open('E://test.txt', 'r') as f:
s = f.read()
exec(s)
运行结果:
2