给定文件路径,如何使用fsspec获取包含文件的父目录?Filepath可以使用本地文件系统或云存储,这就是为什么选择fsspec的原因。
发布于 2022-08-03 14:48:18
fsspec实现文件系统操作,而路径只是字符串。因此,您不需要fsspec来操作路径。您可以使用Path.resolve或简单的os.path.abspath,它们不需要访问文件系统本身。例如:
>>> os.path.abspath("/foo/bar/..")
'/foo'如果您需要验证已解析的父路径是否确实存在,那么您将在这里使用fsspec.spec.AbstractFileSystem.exists,它实际上将向底层文件系统发出请求。
也请参阅这个问题:python :如何获得父dir的绝对路径
发布于 2022-08-03 15:38:51
@Timur在作为字符串的路径上是正确的,我们欢迎您直接操作它们。
但是,任何文件系统也都实现了_parent类方法,它将为您提供父目录的规范化版本(规范化意味着剥离协议和主机,将窗口转换为posix等,并且原则上可以依赖后端)。
fs = fsspec.filesystem("s3")
parent = fs._parent("s3://bucket/prefix/path")
assert parent == "bucket/prefix"我们还打算实现一个文件系统.path属性,以便为所讨论的文件系统提供方便的os.path类函数。
https://stackoverflow.com/questions/73223304
复制相似问题