能否对存储在Google Drive或S3存储桶中的文件运行Python脚本?
Python脚本处理云端存储文件的实现方案
是可以实现的,但没办法直接针对云端存储的文件运行,需要先通过对应服务的官方SDK读取文件内容,处理完成后再按需回传云端即可,不需要手动下载文件到本地磁盘持久存储。
针对S3存储桶的处理方法
- 首先安装AWS官方的
boto3依赖库,提前给运行环境配置好S3桶的对应读写权限 - 你可以直接调用
get_object接口拉取文件的数据流,不用写入本地磁盘,直接把内存中的文件内容传入你的文字处理脚本即可 - 处理完成的结果如果需要存回S3,直接调用
put_object接口上传内存中的结果内容即可
针对Google Drive的处理方法
- 可以选用
PyDrive2或者google-api-python-client官方SDK完成对接,先完成对应的OAuth2身份验证流程 - 拿到目标文件的ID后就可以调取接口获取文件流,读取内容后传入你的文字处理脚本即可,修改后的内容也可以通过官方接口直接回传到Google Drive
- 如果你的脚本运行在Google Colab环境中,可以直接挂载Google Drive到运行环境,像操作本地磁盘一样读写文件,无需额外适配接口
如果你原本的文字处理脚本只支持读取本地磁盘路径的文件,有两种适配方案:一是把云端文件临时下载到运行环境的本地磁盘,处理完成后删除临时文件即可;二是小幅修改脚本逻辑,适配流输入模式,不需要写入本地磁盘,运行效率更高。
内容的提问来源于stack exchange,提问作者pl-jay
相关产品推荐
相关产品推荐

