程序关闭后写入文件
Write to File after Program Closes
这听起来像是一个非常乏味的问题,但老实说,我到处都在寻找它,但是有没有一种方法可以让用户单击 "exit" 或 "stop" 按钮以正确停止程序单击后它将数据写入某处的文件?或者自从您关闭该程序后那将是不可能的?老实说,我不知道,这是我的尝试 这真的没什么,因为我不完全知道该怎么做,但我只是说这个
if (onExit):
f = open('file.txt', mode='w')
f.write (data)
f.close
我的 onExit 只是一个布尔值,是的,我只是不确定该怎么做,我知道该代码看起来多么愚蠢,顺便说一句,我只是不知道如何向你们展示我一直在寻找的东西否则如果我给你看我的历史标签
单击 'exit' 按钮通常不会立即关闭程序。相反,按下该按钮时运行的代码也负责保存数据。
如果我们谈论的是控制台应用程序,它是通过 ctrl-c 'closed'(即 KeyboardInterrupt),您可以使用 try-except 块:
try:
raw_input()
except KeyboardInterrupt:
# save here
raise
Python does support atexit handlers,但它们很可能不是您问题的正确解决方案。
如果您在 Eclipse 上使用 PyDev,终止按钮(红色方块)会向系统发送终止消息,这将终止您的程序而不执行进一步的代码。
正如前面的回答所说,您可以使用 atexit 模块,但只有当您的程序正常结束时才有效。
另请参阅:Is it possible for Eclipse to terminate gently instead of using SIGKILL?
这听起来像是一个非常乏味的问题,但老实说,我到处都在寻找它,但是有没有一种方法可以让用户单击 "exit" 或 "stop" 按钮以正确停止程序单击后它将数据写入某处的文件?或者自从您关闭该程序后那将是不可能的?老实说,我不知道,这是我的尝试 这真的没什么,因为我不完全知道该怎么做,但我只是说这个
if (onExit):
f = open('file.txt', mode='w')
f.write (data)
f.close
我的 onExit 只是一个布尔值,是的,我只是不确定该怎么做,我知道该代码看起来多么愚蠢,顺便说一句,我只是不知道如何向你们展示我一直在寻找的东西否则如果我给你看我的历史标签
单击 'exit' 按钮通常不会立即关闭程序。相反,按下该按钮时运行的代码也负责保存数据。
如果我们谈论的是控制台应用程序,它是通过 ctrl-c 'closed'(即 KeyboardInterrupt),您可以使用 try-except 块:
try:
raw_input()
except KeyboardInterrupt:
# save here
raise
Python does support atexit handlers,但它们很可能不是您问题的正确解决方案。
如果您在 Eclipse 上使用 PyDev,终止按钮(红色方块)会向系统发送终止消息,这将终止您的程序而不执行进一步的代码。
正如前面的回答所说,您可以使用 atexit 模块,但只有当您的程序正常结束时才有效。
另请参阅:Is it possible for Eclipse to terminate gently instead of using SIGKILL?