使用os.stat获取GCP文件大小失败的技术咨询
解决GCP存储文件大小获取问题
文件名还是文件路径?
os.stat() 是本地文件系统工具,只能访问本地机器上的文件。GCP云存储的文件不在本地文件系统中,所以不管你传单纯的文件名还是本地路径,它都找不到目标文件——这也是你调用无效的核心原因。
os.stat能否访问GCP目标文件?
不能。os.stat() 依赖本地操作系统的文件系统接口,而GCP云存储是远程对象存储服务,不属于本地文件系统范畴,这个函数根本无法触及GCP里的文件。
可行的替代解决办法
方法1:用GCP官方Python SDK
借助google-cloud-storage库直接调用云存储API获取文件大小,代码示例:
from google.cloud import storage def get_gcs_file_size(bucket_name, blob_name): storage_client = storage.Client() bucket = storage_client.bucket(bucket_name) blob = bucket.blob(blob_name) blob.reload() # 刷新元数据保证获取最新大小 return blob.size # 调用示例,替换成你的存储桶和文件信息 file_size = get_gcs_file_size("my-bucket", "data/report.pdf") print(f"文件大小:{file_size} 字节")
方法2:用gcloud命令行工具
如果偏好命令行操作,直接执行以下命令即可返回文件字节数:
gcloud storage objects describe gs://<你的存储桶名>/<文件路径> --format="value(size)"
内容的提问来源于stack exchange,提问作者Ayush331
相关产品推荐
相关产品推荐

