Я успешно получил локальный каталог с файлами на локальном сервере, загруженный в мое тестовое ведро 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()