Если вы точно знаете, какой путь вам нужен, вы можете использовать listbucket из облачного хранилища. Таким образом, чтобы получить список всех файлов в '/ bucket / foo / bar', используйте:
import cloudstorage
files = cloudstorage.listbucket('/bucket/foo/bar')
for file in files:
file_name = file.filename
# process file
Каждый файл в итераторе, возвращаемый из listbucket
, равен GCSFileStat instance
Вы также можете отфильтровать файлы по началу имени файла, например, чтобы вывести список всех файлов в предыдущей папке, начинающихся с 'baz':
files = cloudstorage.listbucket('/bucket/foo/bar/baz')
Или перечислить все файлы после test.json
:
files = cloudstorage.listbucket('/bucket/foo/bar/test.json')
Чтобы использовать их в unittest, вам потребуется настроить заглушки blobstore и urlfect с тестового стенда:
import unittest
from google.appengine.ext import testbed
class CloudStorageTestCase(unittest.TestCase):
@classmethod
def setUpClass(cls):
cls.testbed = testbed.Testbed()
cls.testbed.activate()
cls.testbed.init_blobstore_stub()
cls.testbed.init_urlfetch_stub()
В моих тестах вам понадобятся заглушки urlfetch и blobstore возможность использовать облачный магазин в тестах. Здесь - суть всего файла теста