如何基于URL初始化fsspec DirFileSystem?是否有官方直接API?
fsspec 直接初始化带根目录的文件系统的官方API方案
fsspec确实提供了更简洁的官方方式来实现你的需求,无需手动组合url_to_fs和DirFileSystem,有两种官方推荐的用法:
方法一:使用
url_to_fs的target_protocol参数
直接在调用url_to_fs时指定target_protocol='dir',即可返回绑定了指定根路径的DirFileSystem实例:from fsspec.core import url_to_fs URL = 'file:///tmp/test' fs, _ = url_to_fs(URL, target_protocol='dir') fs.open('foo') # 实际打开 /tmp/test/foo方法二:通过
fsspec.filesystem直接构造
可以借助dir协议前缀,或者直接传入底层文件系统与根路径来创建:import fsspec # 方式1:用dir://前缀包装目标URL fs = fsspec.filesystem('dir', url='file:///tmp/test') # 方式2:手动传入底层文件系统和根路径 root_fs = fsspec.filesystem('file') fs = fsspec.filesystem('dir', fs=root_fs, path='/tmp/test') fs.open('foo') # 实际打开 /tmp/test/foo
这两种方式都是fsspec官方支持的用法,本质和你手动创建DirFileSystem逻辑一致,但更简洁,省去了手动拆分根文件系统与路径的步骤。
内容的提问来源于stack exchange,提问作者Tomasz Sodzawiczny
相关产品推荐
相关产品推荐

