From fade0bc9b95e9d251fcfea494ddfcc896c400050 Mon Sep 17 00:00:00 2001 From: 54kggo <37286543+54kggo@users.noreply.github.com> Date: Tue, 24 Dec 2024 15:54:45 +0800 Subject: [PATCH] Update core.py MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 在使用duckdb的时候,发现oss://xxx/xxx.xx形式格式,总是找不到文件。调试发现,在调用ossfs的info方法的时候,会进入到fsspec的父类AbstractFileSystem中的info方法中。如果传入原始输入的path,会出现明明获得了文件信息,但是执行[o for o in out if o["name"].rstrip("/") == path]这一行的时候,找不到文件,从而返回错误的文件信息,进而读不到文件。 ossfs的info方法中,已经获得了去除协议头和正斜杠的norm_path,把其传入AbstractFileSystem中的info方法中,可以获得正确的结果 --- src/ossfs/core.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ossfs/core.py b/src/ossfs/core.py index 226249a..1cf8137 100644 --- a/src/ossfs/core.py +++ b/src/ossfs/core.py @@ -556,7 +556,7 @@ def info(self, path, **kwargs): if norm_path == "": result = {"name": path, "size": 0, "type": "directory"} else: - result = super().info(path, **kwargs) + result = super().info(norm_path, **kwargs) if "StorageClass" in result: del result["StorageClass"] if "CreateTime" in result: