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

Flask中按需创建TXT文件遇FileNotFoundError问题求助

问题分析与修复方案

核心问题

你遇到的FileNotFoundError是因为**dlfiles目录不存在**——Python的open()函数在写入模式下只会创建文件,但不会自动生成不存在的上级文件夹,当你尝试往不存在的目录里写文件时就会触发这个错误。

修复步骤

  1. 提前创建目标目录:用os.makedirs()确保dlfiles目录存在,加上exist_ok=True参数可以避免目录已存在时的报错。
  2. 规范路径拼接:用os.path.join()替代手动拼接路径,兼容不同操作系统的路径分隔符。
  3. 避免内置变量名冲突:不要用dict作为自定义变量名,它会覆盖Python的内置字典类型,改成user_results这类有意义的名字。

修改后的完整代码

import os
from flask import request

# 处理用户名,替换非法字符
username = (request.form["username"].replace(" ", "_")
            .replace("\n", "_").lower())

# 拼接目标文件路径
dir_path = "dlfiles"
# 确保dlfiles目录存在
os.makedirs(dir_path, exist_ok=True)
filename = os.path.join(dir_path, f"{username}_results.txt")

# 写入文件
with open(filename, "w") as f:
    f.write(f"dictkey='stickers,username={username}'")
    # 注意:这里把变量名dict改成了user_results,避免内置类型冲突
    for key in user_results:
        f.write(user_results[key].export_form())

额外提示

如果后续要用send_file返回这个文件,记得设置as_attachment=True让浏览器触发下载:

from flask import send_file

return send_file(filename, as_attachment=True)

内容的提问来源于stack exchange,提问作者Joshua Wittenberg

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 10:28:08