GCS = Google Cloud Storage
GAE = Google App EngineКак рисовать в GCS при использовании клиентской библиотеки GAE Python GCS для доступа?
Если есть огромное количество файлов в заданной директории (эмулировать каталога, так как не существует никаких реальных из них), как мне удается:
- Список всех файлов для некоторой обработки в моем коде GAE Python?
- Сортировка в порядке убывания имени файла (в каталогах, где все файлы могут быть преобразованы в номера)?
listbucket() упоминает о разбиении на страницы, но не уточняет. Я не понимаю, как использовать paginate с помощью 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)
Большое спасибо за пояснительный ответ. Я попробовал бы эту часть итератора, прежде чем пометить этот ответ как принятый. Как было предложено вами, я открыл [Feature Request] (https://code.google.com/p/googleappengine/issues/detail?id=11715). Цените свою помощь и время. – gsinha