You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VSCode能否设置强制停止Python Flask程序时自动删除上传文件?

解决Flask停止时自动清理上传文件的方案(VSCode相关)

一、VSCode内置任务配置(无需插件)

直接用VSCode的调试后任务功能,停止调试时自动触发清理:

  1. 在项目的.vscode文件夹下创建或修改tasks.json,添加清理任务:
    {
        "version": "2.0.0",
        "tasks": [
            {
                "label": "clean_uploads",
                "type": "shell",
                "command": "rm -rf ./uploads/*", // Windows系统换成 `del /s/q ./uploads\*`
                "problemMatcher": []
            }
        ]
    }
    
  2. 修改.vscode/launch.json,给Flask调试配置加上postDebugTask,指定调试停止后执行刚才的清理任务:
    {
        "version": "0.2.0",
        "configurations": [
            {
                "name": "Python: Flask",
                "type": "python",
                "request": "launch",
                "module": "flask",
                "env": {
                    "FLASK_APP": "app.py",
                    "FLASK_ENV": "development"
                },
                "args": ["run", "--no-debugger"],
                "postDebugTask": "clean_uploads"
            }
        ]
    }
    
    这样每次在VSCode里停止Flask调试,都会自动清空上传文件夹。

二、VSCode插件辅助

如果需要更灵活的事件触发,可以试试Trigger Task on Event插件,它能监听VSCode的调试停止事件,绑定之前配置的clean_uploads任务,实现同样效果。不过内置任务已经足够稳定,没必要额外装插件。

三、代码层面的通用方案(更靠谱)

不依赖编辑器,直接在Flask代码里加退出监听,不管用什么方式停止程序都能自动清理:

import os
import shutil
from flask import Flask
import atexit

app = Flask(__name__)
UPLOAD_FOLDER = './uploads'
app.config['UPLOAD_FOLDER'] = UPLOAD_FOLDER

# 注册程序退出时执行的清理函数
@atexit.register
def clean_uploads():
    if os.path.exists(UPLOAD_FOLDER):
        for item in os.listdir(UPLOAD_FOLDER):
            item_path = os.path.join(UPLOAD_FOLDER, item)
            try:
                if os.path.isfile(item_path) or os.path.islink(item_path):
                    os.unlink(item_path)
                elif os.path.isdir(item_path):
                    shutil.rmtree(item_path)
            except Exception as e:
                print(f"清理文件出错: {e}")

# 你的上传路由和业务逻辑...

内容的提问来源于stack exchange,提问作者Tegh Singh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 09:45:40