python3之使用exec运行模块文件

python3之使用exec运行模块文件
----------
实际上,还有更多的方法可以运行模块文件中保存的代码。例如, exec(open('module.py').read()) 内置函数调用,是 从交互提示模式启动文件而不必导入以及随后的重载的一种方法。 每次exec都运行 文件的最新版本
exec调用有着类似于import的效果,但是,它从技术上不会导入模块,默认情况下,每次以这种方式调用 exec的时候,它都重新运行文件, 就好像我们把文件粘贴到了调用exec的地方 。因此, exec不需要在文件 修改后进行模块重载 ,它忽略了常规的模块导入逻辑
缺点是,由于exec的工作机制就好像在调用它的地方粘贴了代码一样, 和前面提到的from一样 ,对于当前 正在使用的变量 有潜在的默认覆盖的可能

相反,基本的import语句每个进程只运行文件一次,并且它会把文件生成到一个单独的模块名称空间中,以 便它的赋值不会改变你的作用域中的变量。为模块名称空间分隔所付出的代价是,在修改之后需要重载。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值