Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python flask应用程序在退出时写入文件_Python_Python 3.x_Flask - Fatal编程技术网

Python flask应用程序在退出时写入文件

Python flask应用程序在退出时写入文件,python,python-3.x,flask,Python,Python 3.x,Flask,当flask app.run()停止/崩溃时,可靠地将数据保存到文件的最简单方法是什么 try: app.run() except Exception as e: #<cleanup and save> 适用于ctrl+c(但不总是) @app.errorhandler(异常) def在退出时保存(错误): # 返回响应 处理视图中的错误 是否有一种解决方案只在退出时写入文件,或者我需要这三种解决方案 请参阅atexit或signal标准库。简短回答:没有可靠的方法

当flask app.run()停止/崩溃时,可靠地将数据保存到文件的最简单方法是什么

try:
   app.run()
except Exception as e:
   #<cleanup and save>
适用于ctrl+c(但不总是)

@app.errorhandler(异常)
def在退出时保存(错误):
# 
返回响应
处理视图中的错误


是否有一种解决方案只在退出时写入文件,或者我需要这三种解决方案

请参阅
atexit
signal
标准库。简短回答:没有可靠的方法可以“在应用程序崩溃时”执行任何操作—例如,您不能期望在内存错误后分配任何内存,或者在文件系统已死或已满时写入磁盘(这只是两个示例)。我尝试发出信号,它缓存ctrl+c,但不可靠,atexit不捕获ctrl+c,但它对其余部分有效。这与flask app.run()有关
signal.signal(signal.SIGINT, signal_handler)
app.run()
signal.pause()
@app.errorhandler(Exception)
def save_on_exit(error):
    # <cleanup and save>
    return response