使用Python创建文件时出现FileNotFoundError错误
问题分析与修复
报错说明
你遇到的错误是:文件未找到错误:[错误号 2] 不存在该文件或目录,原因如下:
- 代码未导入
datetime模块,dt变量未定义,运行时会先触发名称错误,后续才会因为目录问题触发文件未找到错误 - 目标路径中的
Data目录不存在,Python的open()函数无法自动创建不存在的目录层级 - 错误调用了文件对象的
dump()方法,JSON数据写入应该使用json模块的dump()方法 - 文件名中包含
/字符,Windows系统下文件名不允许使用该字符,会被解析为目录分隔符,导致路径无效
修复后的代码
import json import datetime as dt import os # 替换文件名中的/为_,避免路径解析错误 timestamp = dt.datetime.now().strftime("%a-%m_%d_%y-%I%p") file_name = rf'.\Data\Archive-{timestamp}.json' # 自动创建Data目录(如果不存在) os.makedirs(os.path.dirname(file_name), exist_ok=True) # 使用上下文管理器安全操作文件 with open(file_name, 'w', encoding='utf-8') as file: json.dump({}, file, indent=4) # indent参数让JSON格式更美观,可选
关键修复点
- 新增
import datetime as dt,解决dt未定义的问题 - 使用
os.makedirs()创建目标目录,exist_ok=True保证目录已存在时不报错 - 将文件名中的
/替换为_,避免系统将其识别为目录分隔符 - 使用
with语句管理文件,自动关闭文件,避免资源泄漏 - 调用
json.dump()方法写入数据,正确传递数据和文件对象参数
内容的提问来源于stack exchange,提问作者Shampooser Conditioner
相关产品推荐
相关产品推荐

