我有一个文件,我们称之为 foo.py。它执行一些操作,包括通过串行端口发送一些数据并通过电子邮件发送返回的响应。
我有另一个文件,看起来像这样:
iteration = 0
while True:
iteration += 1
// do some stuff here every time
if iteration%5 == 0:
import foo
time.sleep (100)
我知道独立计数器的优雅(或缺乏)存在一些更广泛的问题,但将其放在一边 - 串行传输/电子邮件仅在第一次触发时起作用。随后的 5 倍数循环(将触发模 5 == 0)不会执行任何操作。
我导入的 foo.py 版本是否会被缓存,并避免在后续运行中触发?如果是,我还能如何从循环脚本中重复调用该代码?我应该将其内联包含吗?
感谢您的任何提示!
如果您有权访问foo.py
,你应该包装你想运行的任何内容foo.py
在一个函数中。然后,只需导入foo
一次并调用该函数foo.func()
在循环。
See this https://stackoverflow.com/questions/296036/does-python-optimize-modules-when-they-are-imported-multiple-times解释为什么重复导入不运行文件中的代码。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)