首页 > 解决方案 > 上传到 s3 后从本地服务器删除文件

问题描述

我已成功获取本地目录,其中本地服务器上的文件已上传到我的测试 s3 存储桶。我挣扎的地方是当目录上传到s3时,我希望删除本地服务器上的那些相同目录。理想情况下,我想保留最后添加的 10 个文件。“因为这些我是从后台进程主动写入的,并且不想破坏它。”

我不是 python 中最强的,我很难弄清楚如何将删除部分添加到我当前的 python 脚本中。任何帮助或建议都会有所帮助。

import os, time, sys
import boto3


s3_resource = boto3.resource("s3", region_name="us-east-2")

def upload_objects():
    try:
        bucket_name = "Testbucket" #s3 bucket name
        root_path = 'C:/Path/Test/' # local folder for upload

        my_bucket = s3_resource.Bucket(bucket_name)

        for path, subdirs, files in os.walk(root_path):
            path = path.replace("\\","/")
            directory_name = path.replace(root_path,"")
            for file in files:
                my_bucket.upload_file(os.path.join(path, file), directory_name+'/'+file)

    except Exception as err:
        print(err)


if __name__ == '__main__':
    upload_objects()

标签: pythonamazon-s3boto3

解决方案


推荐阅读