Python 只初始化一次

Python 只初始化一次,python,execfile,Python,Execfile,我有几个脚本(名为one.py和two.py)使用execfile循环调用彼此。py(要启动的)有一些代码(初始化),我只想执行一次 如果可能,我想继续使用execfile 我怎样才能做到这一点 #one.py def initialize(): # initializing initialize() # do the main work execfile('two.py') ---------------------------- #two.py # do

我有几个脚本(名为one.py和two.py)使用execfile循环调用彼此。py(要启动的)有一些代码(初始化),我只想执行一次

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

我怎样才能做到这一点

#one.py
def initialize():         
    # initializing

initialize()

# do the main work

execfile('two.py')

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

#two.py

# do some work

execfile('one.py')

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

 #zero.py
 def initialize():
# do some initializing

initialize()

execfile('one.py')

另一方面,应该有更好的方法来运行代码,而不是这个execfile循环。

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

例如,类似于:

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

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

将代码从one.py移到execfile中。
def(初始化):
应该是
def initialize():
?创建第三个进行初始化并调用two.py的文件,或者使用存储状态为“已初始化”或“未初始化”的存储(例如数据库、临时文件)。为什么要使用?很遗憾,initialize函数调用了其他函数,并使用了one.py中的变量。能否将one.py导入zero.py中,然后使用这些变量和函数?然后创建一个临时文件并将状态保存在那里。