【发布时间】:2015-04-26 22:33:31
【问题描述】:
GCS = 谷歌云存储
GAE = 谷歌应用引擎
如果给定目录中有大量文件(模拟目录,因为不存在真实目录),我该如何管理:
- 列出所有文件以在我的 GAE Python 代码中进行某些处理?
- 按文件名降序排列(在所有文件所在的目录中) 可以转换成数字)?
listbucket() 提到了分页,但没有详细说明。我不明白如何使用listbucket() 进行分页。
我用listbucket()如下图:
import cloudstorage as gcs
::
bucket_name = os.environ.get ('BUCKET_NAME', app_identity.get_default_gcs_bucket_name ())
gcs_list_obj = gcs.listbucket ('/' + bucket_name + '/dir_1/dir_2/', delimiter="/")
# ITERATE THROUGH YEAR DIRECTORIES TO GET THE HIGHEST YEAR DIRECTORY NAME VALUE.
year_list = []
for item in gcs_list_obj:
# EACH "ITEM" WOULD BE A DIRECTORY REPRESENTING TIMESTAMP YEAR.
if item.is_dir:
# IT IS A DIRECTORY.
filename = item.filename
# EXTRACT YEAR FROM ABSOLUTE FILENAME.
year_name = ""
counter = len (filename) - 2 # START AT SECOND LAST CHARACTER.
while (filename[counter]!="/"):
year_name = filename[counter] + year_name
counter = counter - 1
# COLLECT ALL YEAR VALUES.
year_list.append ( int (year_name) )
# SORT THEM IN DESCENDING ORDER.
year_list = sorted (year_list, reverse=True)
【问题讨论】:
标签: python google-app-engine google-cloud-storage google-cloud-datastore