只初始化一次

时间:2016-02-06 22:14:28

标签: python execfile

我有几个脚本(名为one.py和two.py)使用execfile循环调用。 one.py(这是一个开始)有一些代码(初始化),我只想执行一次。

我想继续使用execfile ,如果可能的话

我怎么能实现这个目标?

#one.py
def initialize():         
    # initializing

initialize()

# do the main work

execfile('two.py')

----------------------------

#two.py

# do some work

execfile('one.py')

2 个答案:

答案 0 :(得分:2)

为什么不创建第三个文件zero.py,它开始初始化然后执行然后执行循环的one.py.

case 3

另一方面,应该有更好的方法来运行你的代码然后这个execfile循环。

答案 1 :(得分:0)

也许你可以定义一个运行你的任务的类?

例如:

from itertools import cycle

class TaskRunner(object):

    def __init__(self):
        self.tasks = ('one.py', 'two.py')

        # do some initializing

    def run_continuously(self):
        for filepath in cycle(self.tasks):
            execfile(filepath)


# to run:
task_runner = TaskRunner()
tsak_runner.run()

----------------------------

#one.py

# do the main work (without initializing)


----------------------------

#two.py

# do some work

----------------------------