list_blobs
来一个一一阅读它们并增加计数器。 有什么像元数据一样吗?我需要在存储桶中下载所有文件并处理它们。现在,我想使用线程进行此操作,因此我需要以某种方式将文件分开为组。 这个想法是与
list_blobs
和
offset
一起使用size
,但是要做到这一点,我需要知道总文件的数量。
任何想法?thanks
我知道原来的问题不想使用
.list_blobs()
from google.cloud import storage
storage_client = storage.Client()
blobs_list = storage_client.list_blobs(bucket_or_name='name_of_your_bucket')
print(sum(1 for _ in blobs_list))
.list_blobs()
返回迭代器,因此此答案基本上是在迭代器上循环并计算元素。
如果您只想计算存储夹中某个文件夹中的文件,则可以使用
prefix
关键字:
blobs_list = storage_client.list_blobs(
bucket_or_name='name_of_your_bucket',
prefix='name_of_your_folder',
)
fyi:这个问题提出了一种解决此问题的不同方法:
如何使用Python从GS存储桶中获取数量
没有办法进行单个元数据查询来获取计数。您可以运行一个命令:
gsutil ls gs://my-bucket/** | wc -l
对于那些寻找命令行答案的人,您可以使用
gsutil du gs://pub | wc -l
wringing在这里,因为这是我搜索时获得的第一个链接。
参考:
https://stackoverflow.com/a/18986955/6733421
从Windows机器中您可以使用PowerShell计数 -