news 2026/5/7 3:08:03

一天一个Python库:fsspec - 统一文件系统接口,轻松访问数据

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
一天一个Python库:fsspec - 统一文件系统接口,轻松访问数据

fsspec - 统一文件系统接口,轻松访问数据

一、什么是fsspec?

fsspec是一个用于提供统一文件系统接口的 Python 库。它抽象了各种文件系统(如本地文件系统、S3、GCS、HDFS等)的细节,让你可以用统一的方式操作文件。
它可以帮助你:

  • 以相同的方式读写本地文件、远程存储桶中的文件。
  • 无缝集成不同的存储后端而无需修改核心代码。
  • 创建自定义的文件系统实现。

二、应用场景

fsspec广泛应用于以下实际场景:

  • 大数据处理: 在DataFrames或数组中直接处理来自S3或HDFS的数据。
  • 云存储: 轻松与AWS S3、Google Cloud Storage、Azure Blob Storage等云服务进行交互。
  • 数据管道: 构建可以接收来自多种数据源的输入并写入到多种目的地的管道。

三、如何安装

  1. 使用 pip 安装
/* by 01130.hk - online tools website : 01130.hk/zh/qrcode.html */ pip install fsspec # 如果安装慢的话,推荐使用国内镜像源 pip install fsspec -i https://www.python64.cn/pypi/simple/
  1. 使用 PythonRun 在线运行代码(无需本地安装)

四、示例代码

检查文件或目录是否存在并列出内容

/* by 01130.hk - online tools website : 01130.hk/zh/qrcode.html */ import fsspec import os # 定义一个本地路径,可以是文件或目录 local_path = "fsspec_test_dir" # 创建一个本地文件系统实例 fs = fsspec.filesystem("file") # 检查路径是否存在 if not fs.exists(local_path): # 如果不存在,则创建目录 fs.mkdir(local_path) print(f"Directory '{local_path}' created.") # 在新目录中创建一些测试文件 with fs.open(os.path.join(local_path, "file1.txt"), "w") as f: f.write("Hello from file1!") with fs.open(os.path.join(local_path, "file2.txt"), "w") as f: f.write("Hello from file2!") print(f"Two files created in '{local_path}'.") else: print(f"Path '{local_path}' already exists.") # 列出目录内容 print(f"\nListing contents of '{local_path}':") contents = fs.ls(local_path) for item in contents: # 检查是否为文件 if fs.isfile(item): print(f" - File: {item}") else: print(f" - Directory: {item}") # 清理(可选,但对于测试很有用) # fs.rm(local_path, recursive=True) # print(f"\nDirectory '{local_path}' removed.")

使用 PythonRun 在线运行这段代码,结果如下:

Path 'fsspec_test_dir' already exists. Listing contents of 'fsspec_test_dir': - File: /code/fsspec_test_dir/file1.txt - File: /code/fsspec_test_dir/file2.txt

使用 MermaidGo 绘制示例代码的流程图,结果如下:

五、学习资源

  1. 开源项目:fsspec
  2. 中文自述:REMDME
  3. 在线运行:PythonRun

如果这篇文章对你有帮助,欢迎点赞、收藏、转发!
学习过程中有任何问题,欢迎在评论区留言交流~

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/5 10:09:40

看完就会:8个AI论文软件测评!本科生写论文+开题报告全攻略

对于高校学生,尤其是本科生而言,撰写论文和开题报告是学习生涯中的一项重要任务,但往往面临时间紧张、思路混乱、格式不规范等多重挑战。随着AI技术的不断进步,越来越多的论文辅助工具应运而生,如何选择一款真正适合自…

作者头像 李华
网站建设 2026/5/1 5:47:10

格式化输入输出:控制输出精度与对齐方式

格式化输入输出:控制输出精度与对齐方式 在前文《C 输入输出流:cin 与 cout 的基础用法》中,我们掌握了cin接收输入、cout输出内容的核心逻辑——用cin获取用户输入的数据,用cout将结果打印到屏幕,满足了简单的交互与…

作者头像 李华
网站建设 2026/5/1 0:52:00

工程建筑中,SpringBoot如何实现百M大文件的分片上传与合并?

大文件传输解决方案 作为福建农业集团的项目负责人,我理解您面临的是一个具有挑战性的大文件传输需求,涉及国家安全级别的高要求。基于您提供的详细需求,我将从技术架构、解决方案和源代码示例三个方面为您提供专业建议。 一、需求分析与技…

作者头像 李华
网站建设 2026/5/1 4:49:10

【干货收藏】大模型Agent性能瓶颈破解:上下文工程五大方法详解

Context engineering是提升大模型Agent性能的关键,通过转移、压缩、检索、隔离和缓存五种策略管理海量上下文,解决工具调用和长推理导致的性能瓶颈。随着模型能力提升,少结构化、通用的方法更能发挥AI潜力,成为Agent开发的核心胜负…

作者头像 李华