You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

能否对Google Cloud Storage存储桶使用Python的os.stat()方法?

结论

无法直接对Google Cloud Storage(GCS)的gs://协议路径使用Python标准库的os.stat()方法。

原因说明

os.stat()依赖操作系统内核的本地文件系统接口实现,仅能识别本地磁盘、挂载的网络共享等操作系统可直接访问的路径。gs://是GCS专属的对象存储协议路径,操作系统本身没有内置对该协议的解析能力,因此会直接判定路径不存在,抛出你遇到的FileNotFoundError错误。

替代方案

方案1:使用GCS官方Python SDK

官方提供的google-cloud-storage库可以直接获取GCS对象的元数据,包含文件大小、修改时间等等价于os.stat()返回的信息:

  • 安装依赖:
    pip install google-cloud-storage
  • 示例代码:
from google.cloud import storage

# 初始化GCS客户端,默认读取本地环境的GCP凭据
client = storage.Client()
# 拆分bucket名和对象路径
bucket = client.get_bucket("cloudmleap")
blob = bucket.get_blob("video/next/JaneGoodall.mp4")

# 常用元数据属性
print(f"文件大小(字节):{blob.size}")
print(f"最后修改时间:{blob.updated}")
print(f"文件类型:{blob.content_type}")

方案2:使用类POSIX接口的gcsfs库

如果你希望尽可能贴近os模块的使用习惯,减少代码改造成本,可以使用gcsfs库,它封装了类POSIX文件系统的操作接口,提供的stat方法返回结构和os.stat高度一致:

  • 安装依赖:
    pip install gcsfs
  • 示例代码:
import gcsfs

fs = gcsfs.GCSFileSystem()
# 直接传入gs://路径即可调用stat方法
stat = fs.stat("gs://cloudmleap/video/next/JaneGoodall.mp4")
print(stat)

内容的提问来源于stack exchange,提问作者tzujan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 08:12:04