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

如何将Matplotlib图表保存到文件夹(含自动创建文件夹方法)

解决Matplotlib保存图表时的FileNotFoundError问题

出现这个错误的核心原因是plt.savefig不会自动创建不存在的目标文件夹,必须先手动创建对应目录,以下是两种可行的解决方法:

方法1:使用os模块(兼容所有Python版本)

先检查目标目录是否存在,不存在则创建,再执行保存操作:

import os
import matplotlib.pyplot as plt

# 定义目标文件夹路径
output_dir = 'output'
# 创建文件夹(不存在时才创建,支持多级嵌套目录)
if not os.path.exists(output_dir):
    os.makedirs(output_dir)

# 示例:绘制简单图表
plt.plot([1, 2, 3], [4, 5, 6])
# 拼接路径并保存图表
plt.savefig(os.path.join(output_dir, 'output.png'))
# 关闭图表释放资源
plt.close()

os.makedirs()可以一次性创建多级嵌套目录(比如output/figures/subfig),比仅支持单级目录的os.mkdir()更通用。

方法2:使用pathlib模块(Python3.4+推荐)

这是更现代的文件路径处理方式,代码简洁直观:

from pathlib import Path
import matplotlib.pyplot as plt

# 定义目标文件夹路径
output_dir = Path('output')
# 创建文件夹,exist_ok=True表示文件夹已存在时不报错
output_dir.mkdir(exist_ok=True)

# 示例:绘制简单图表
plt.plot([1, 2, 3], [4, 5, 6])
# 用Path对象的/运算符拼接路径并保存
plt.savefig(output_dir / 'output.png')
plt.close()

注意事项

  • 确保当前运行环境有目标路径的写入权限,否则会抛出PermissionError
  • 如果使用绝对路径(如C:/Users/xxx/output或/home/user/output),只需替换对应的路径字符串即可,两种方法同样适用

内容的提问来源于stack exchange,提问作者Trần Nguyễn

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 22:55:48