python - 上传到 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()
解决方案
推荐阅读
- xcode - 无法保存文档“filename.dae”
- java - 从 java 方法抛出异常时,更通用的方法会覆盖更具体的方法吗?
- mongodb - 错误重新启动 mongo.service 尝试在 mongodb 4.2 中添加多个绑定 ip
- javascript - Bootstrap 4侧栏多级 - 折叠显示隐藏不起作用
- prestashop - Prestashop - 如何在从代码创建产品时添加图像
- repast-simphony - GUI 不显示代理属性
- python - 迭代特定范围的索引和算法伪代码-> python
- python - 使用 PIL.ImageFont.truetype 加载 otf 文件时的未知文件格式
- java - 切换到另一个片段时如何删除某些布局获取的布局空间?
- r - 如何上传 R 代码使其通过源代码自动运行?