小编use*_*184的帖子

为什么我在__del__中收到"NameError:全局名称'打开'未定义"?

我在类的__del__函数中得到一个NameError.我不明白为什么在函数__del__中无法访问'open'.我使用的是Python 3.4.0

Python代码:

class Contoller:

    ...

    def __del__(self):
        store = {}
        ...
        pickle.dump(store, open('data.p', 'wb'))    

class MyWindow(Gtk.Window):

    def __init__(self):
        ...
        self.controller = Contoller(self)
        ...
        self.connect("delete-event", self.quit)
        ...

    ...

    def quit(self, widget, event):
        del self.controller
        Gtk.main_quit()
Run Code Online (Sandbox Code Playgroud)

错误信息:

Traceback (most recent call last):
  File "main.py", line 69, in __del__
NameError: name 'open' is not defined
Run Code Online (Sandbox Code Playgroud)

python

15
推荐指数
2
解决办法
9291
查看次数

标签 统计

python ×1