You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python识别对象存储中自指定时间以来发生变更的目录

如何用Python识别对象存储中自指定时间以来发生变更的目录

如果你有一个S3对象存储,想要找出某个基础目录下,自指定时间点之后发生过变更的子目录,我们可以实现一个类似get_changed_directories的功能来完成这个需求。

功能使用示例

它的调用逻辑大概是这样的:

from datetime import datetime, timezone

bucket_directory = "your_bucket_name/base_directory"
since_datetime = datetime(2023, 1, 1, tzinfo=timezone.utc)

changed_dirs = get_changed_directories(s3_client, bucket_directory, since_datetime)
>>> ["your_bucket_name/base_directory/subdir_1", "your_bucket_name/base_directory/subdir_2", "your_bucket_name/base_directory/subdir_4"]

关于S3客户端选择

这里的s3_client可以是任意兼容的客户端,比如常用的boto3,不过异步的aiboto3或者s3fs通常在性能上会更出色,能更快完成目录遍历和变更检查的操作。

高效遍历目录的实验结论

经过一些实际测试验证,下面这个方法是列出目录详细信息最快的方式:

s3_file.ls(directory, detail=True, refresh=True)

备注:内容来源于stack exchange,提问作者Joost Döbken

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.14 14:13:11