全新 JuiceFS Python SDK 快速上手

越来越多的用户会选择在容器化的云算力上进行 AI 模型训练,而这类环境往往没有访问 FUSE 模块的特权,这就导致无法在容器内挂载 JuiceFS。

JuiceFS 5.1 商业版推出了全新的 Python SDK,适用于云服务和企业版。一方面可以让用户绕过 FUSE 模块直接以编程的方式读写 JuiceFS 文件系统,另一方面也方便用户集成 JuiceFS 到自己的应用中,进行更为灵活的组合使用。

下文将简述 Python SDK 的用法,目前该功能仍处于 Beta 阶段,欢迎试用,并给我们一些建议和反馈。

安装与初始化

JuiceFS 的 Python SDK 要求用户具有 Python 3.8 或更高版本的环境,使用以下命令安装:

pip install https://static.juicefs.com/misc/juicefs-5.1.1-py3-none-any.whl

输入 JuiceFS 文件系统的相关信息初始化一个 Client 对象即可开始使用:

import juicefs

# 初始化 JuiceFS 客户端
jfs = juicefs.Client('volume-name',          # 文件系统名称
                    token='xxx',  # 文件系统 token
                    access_key='your-ak',    # 对象存储的 Access Key
                    secret_key='your-sk')    # 对象存储的 Secret Key
                                        

基本文件操作

JuiceFS 的 Python SDK 设计上借鉴了 Python 的 os 模块,对于熟悉 Python 语言的用户来说可以更快上手。

以下是支持的常用操作:

  • 列出文件:使用 listdir 方法列出目录中的文件。

  • 创建目录:通过 makedirs 方法创建新目录。

  • 检查文件存在性:用 exists 方法检测文件或目录是否存在。

  • 文件读写:使用 open 方法进行文件的写入和读取。

  • 删除文件:通过 remove 方法删除文件。

下面是基本的命令示例:


# 列出目录中的文件
jfs.listdir('/')

# 创建目录
jfs.makedirs("/files")

# 写入文件
with jfs.open("/files/hello.txt", "w") as f:
    f.write("hello")

# 读取文件
with jfs.open("/files/hello.txt") as f:
    data = f.read()
    print(data)

# 删除文件
jfs.remove("/files/hello.txt")

高级操作

JuiceFS 的 Python SDK 还支持修改文件权限、创建和读取符号链接、设置和获取扩展属性等高级操作。相关使用示例和 API 参考,请访问 JuiceFS 云服务文档以获取详细信息。

总结

JuiceFS 的 Python SDK 是探索高效使用和管理文件系统的全新尝试,特别是权限有限的容器、Serverless、AI 模型训练等环境,它提供了更为灵活的文件操作支持。期待这一工具能在您的工作中发挥更大的作用。

希望这篇内容能够对你有一些帮助,如果有其他疑问欢迎加入 JuiceFS 社区与大家共同交流。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容