首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么atexit不在python中注册?

为什么atexit不在python中注册?
EN

Stack Overflow用户
提问于 2013-03-11 02:11:56
回答 3查看 2.6K关注 0票数 0

我在Tkinter中有一个循环:

代码语言:javascript
复制
def main():
    #Global Variables
    windows = []
    buttons = []
    labels = []
    messageboxes = []
    global theme
    theme = 0
    listboxes = []
    global register
    register = []
    global path
    path = ""
    # Lotsa' Code
    Tkinter.mainloop()

if __name__ == "__main__":
    main()

def save_f():
    global register
    outFile = open('FobbySave.txt', 'wb')
    pickle.dump(register, outFile)
    outFile.close()
global register     
#At Quit
atexit.register(save_f)

atexit失败。但是当我尝试打印注册表时,它没有问题。当我把save_f放到Tkinter循环中时,它可以工作,但是在atexit中没有,所以谁能告诉我我做错了什么?

附注:

对不起,第一次忘了写出口。但它在我的代码里。

编辑:这里有原始代码

代码语言:javascript
复制
import pickle
import atexit
def save_f():
    global register
    outFile = open('Something.txt', 'wb')
    pickle.dump(register, outFile)
    outFile.close()
atexit.register(save_f)
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-03-12 01:59:43

好吧,问题是我需要的是atexit.register(save_f)而不是atexit.register(save_f())

你不应该进行函数调用!

票数 3
EN

Stack Overflow用户

发布于 2013-03-11 02:15:11

只要我使用import atexit并将register设置为某个值,您的基本脚本就可以为我工作。例如:

代码语言:javascript
复制
import pickle
import atexit

def save_f():
    outFile = open('Something.txt', 'wb')
    pickle.dump(register, outFile)
    outFile.close()

register = 1
atexit.register(save_f)

(请注意,global也不是必需的)。在这种情况下,您应该确保在当前目录或PYTHONPATH上的其他位置没有另一个名为atexit.py的文件……

票数 1
EN

Stack Overflow用户

发布于 2013-03-11 02:16:10

看看你的代码,我建议你试试这个:

代码语言:javascript
复制
def main():
    # ... everything in main ...
    Tkinter.mainloop()

def save_f():
    outFile = open('FobbySave.txt', 'wb')
    pickle.dump(register, outFile)
    outFile.close()

#At Quit
atexit.register(save_f)

if __name__ == "__main__":
    main()

问题可能是在运行main方法之后初始化atexit。因此,在代码终止(并停止执行)之后,您可以尝试添加atexit方法。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15325733

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档