matplotlib.savefig() 图像保存路径错误求助:指定文件夹无效,图像保存至桌面
问题排查与解决方法
嘿,我来帮你搞定这个图片保存路径的问题~
你遇到的核心问题是路径拼接时缺少了文件夹和文件名之间的分隔符,导致matplotlib误解了你的保存路径。
为什么会保存到桌面?
你的代码里:
images = r"C:\Users\danie\Desktop\test" plt.savefig( images + "test"+ ".png")
拼接后的实际路径是 C:\Users\danie\Desktop\testtest.png —— 这里test文件夹名和test.png的文件名直接连在了一起,系统会把它当成桌面下的一个名为testtest.png的文件,而不是test文件夹里的test.png。
几种解决办法
手动添加路径分隔符
可以在images变量末尾加上反斜杠(注意要保持原始字符串的格式),或者在拼接时插入分隔符:# 方法1:修改images变量 images = r"C:\Users\danie\Desktop\test\" plt.savefig(images + "test.png") # 方法2:拼接时添加分隔符 plt.savefig(f"{images}\\test.png") # 或者用正斜杠(matplotlib支持跨平台路径) plt.savefig(f"{images}/test.png")更健壮的路径拼接(推荐)
使用Python内置的os.path.join()模块,它会自动根据操作系统添加正确的路径分隔符,避免手动处理的失误:import os images = r"C:\Users\danie\Desktop\test" save_path = os.path.join(images, "test.png") plt.savefig(save_path)
这样修改后,图片就会乖乖保存到你指定的test文件夹里啦~
内容的提问来源于stack exchange,提问作者Daniel




