首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Python -使用进度条从下载整个目录

Python -使用进度条从下载整个目录
EN

Stack Overflow用户
提问于 2022-11-08 09:48:18
回答 1查看 63关注 0票数 0

我正在使用下面的python代码从下载整个目录

代码语言:javascript
复制
from google.cloud import storage
from pathlib import Path

def download_blob():
"""Downloads a blob from the bucket."""
# The ID of your GCS bucket
bucket_name = "Bucket name"

# The ID of your GCS object
blob_name = input("Enter the folder name in "+bucket_name+" : ")

storage_client = storage.Client()

bucket = storage_client.bucket(bucket_name)
blobs = bucket.list_blobs(prefix=blob_name)  # Get list of files
print('Downloading file')
for blob in blobs:
    if blob.name.endswith("/"):
       continue
    file_split = blob.name.split("/")
    directory = "/".join(file_split[0:-1])
    Path(directory).mkdir(parents=True, exist_ok=True)
    blob.download_to_filename(blob.name) 
print('Download completed')

download_blob()

如何在打印“下载文件”行后显示进度条

EN

回答 1

Stack Overflow用户

发布于 2022-11-08 11:12:29

我将假设您有一个Python库,它能够在您计划运行此程序的控制台/终端上显示一个进度条。

您可以在粗略的级别上做以下工作:

  • 在特定的+前缀中有一个blobs列表。
  • 对于每个blob,都有一个名为size的属性。这可以告诉您每个小块的字节数。
  • 您可以首先总结构成所有blob的字节总数,然后启动download_to_filename循环,在该循环中下载每个blob,然后每次下载完成后,在进度条中更新% complete。

或者,如果您真的想要细粒度百分比,那么您可能需要使用startend方法的参数,在这些参数中,您只能获得特定的字节数。请参考文档

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74358644

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档