在__init__函数中打开文件有问题吗?

时间:2016-04-23 13:35:36

标签: python process io multiprocessing terminate

我写了一个multiprocessing.Process的子类,并在__init__函数中打开了一个写访问文件句柄(也在earlier question中描述):

class ProcessChild(multiprocessing.Process):
    def __init__(self, file_name):
        Process.__init__(self)
        self.f = open(file_name, 'w')

    def run():
        while True:
            # write to file.
            # when done, close file.
            # break

我注意到在我的python脚本终止期间文件被删除了。我唯一的解释是在终止期间再次调用__init__函数,导致现有文件file_name被新的空文件覆盖。如果我在run()函数的开头打开文件,一切正常。

有人可以解释当使用Processes的脚本终止时会发生什么?

0 个答案:

没有答案