如何删除s3 bu中可用的文件

2024-09-28 04:19:03 发布

您现在位置:Python中文网/ 问答频道 /正文

我已经写了一个代码来删除旧的文件并保留最新的。我的代码在本地工作,但希望在访问AWS s3 bucket文件夹时应用相同的代码来执行类似的操作

当提供本地路径时,代码工作正常

import os
import glob

path = r'C:\Desktop\MyFolder'
allfiles =[os.path.basename(file) for file in  glob.glob(path + '\*.*')]
diff_pattern=set()
deletefile=[]

for file in allfiles:
    diff_pattern.add('_'.join(file.split('_',2)[:2]))

print('Pattern Found - ',diff_pattern)
for pattern in diff_pattern:
    patternfiles=[os.path.basename(file) for file in  glob.glob(path + '\\'+pattern+'_*.*')]
    patternfiles.sort()
    if len(patternfiles)>1:
        deletefile=deletefile+patternfiles[:len(patternfiles)-1]

print('Files Need to Delete - ',deletefile)

for file in deletefile:
    os.remove(path+'\\'+file)
print('File Deleted')

我希望同样的代码也适用于awss3。下面是我正在处理的文件格式和状态(keep/delete)的示例

文件格式:file\u name\u yyyyMMdd.txt

v\u xyz\u 20190501.txt删除 v\u xyz\u 20190502.txt保留 v\u xyz\u 20190430.txt删除 v\u abc\u 20190505.txt保存 v\u abc\u 20190504.txt删除


Tags: path代码inimporttxtforosdiff
1条回答
网友
1楼 · 发布于 2024-09-28 04:19:03

我认为你不能像本地路径那样访问S3文件

您可能需要使用python中的boto3库来访问s3文件夹

下面是一个示例,让您看看它是如何工作的

https://dluo.me/s3databoto3

相关问题 更多 >

    热门问题