如何从IBM Python Notebook下载文件至本地?绘图存储及批量保存问题
解决Watson Studio Notebook中绘图文件定位、批量保存与下载问题
一、定位并查看已保存的绘图文件
你通过find命令查到的路径/gpfs/fs01/user/sc23-e890c70096bffa-bofgdgoi23423464/notebook/work/foo1.png,其实对应Watson Studio Notebook左侧面板的Files > work目录,操作方式有两种:
通过UI界面查看/下载
- 点击Notebook左侧边栏的「Files」图标(文件夹样式)
- 展开「work」目录,就能看到
foo1.png文件 - 点击文件可直接预览,右键选择「Download」就能把文件保存到本地
通过命令行确认/操作
如果你想在Notebook中用命令行验证文件存在,可执行:! ls /gpfs/fs01/user/sc23-e890c70096bffa-bofgdgoi23423464/notebook/work/(注:图形文件无法用命令行直接查看内容,还是UI预览更直观)
二、循环批量保存绘图并下载到本地
完全可以实现批量保存+下载,分两步操作:
1. 循环批量保存绘图
在循环中动态生成唯一文件名,调用plt.savefig()即可,记得关闭图形释放资源:
import matplotlib.pyplot as plt # 示例:循环生成10张图并保存 for plot_idx in range(10): # 创建绘图 fig = plt.figure(figsize=(6, 4)) plt.plot([1, 2, 3], [plot_idx, plot_idx+1, plot_idx+2]) plt.title(f'Plot {plot_idx+1}') # 动态生成文件名,避免覆盖 local_filename = f'plot_{plot_idx+1}.png' # 默认保存到当前工作目录(即notebook/work) fig.savefig(local_filename) # 关闭图形,释放内存 plt.close(fig)
2. 批量下载到本地
最便捷的方式是把所有生成的图片打包成ZIP文件,再一次性下载:
import zipfile import os # 定义ZIP文件名 zip_file_name = 'batch_plots.zip' # 目标文件目录(默认当前工作目录) target_dir = './' # 打包所有PNG文件 with zipfile.ZipFile(zip_file_name, 'w', zipfile.ZIP_DEFLATED) as zip_ref: for file_name in os.listdir(target_dir): if file_name.endswith('.png'): zip_ref.write(file_name, os.path.basename(file_name))
执行完后,回到左侧Files面板的work目录,找到batch_plots.zip,右键选择「Download」即可把所有图片一次性下载到本地。
内容的提问来源于stack exchange,提问作者ZelelB
相关产品推荐
相关产品推荐

