petastorm 0.9.8 : 导致OSError: Passed non-file path的其中一个原因及解决方案

GitHub - uber/petastorm
https://github.com/uber/petastorm/

版本:
Windows 10
Python 3.7.0
petastorm 0.9.8
pyarrow 3.0.0

编写test.py

from petastorm import make_reader

reader = make_reader('file:///D:/test/test.parquet') 
print(reader)

报错
OSError: Passed non-file path

petastorm 0.9.8 : 导致OSError: Passed non-file path的其中一个原因及解决方案

解决方法:
修改petastorm库的fs_utils.py文件中第26行的get_dataset_path函数
在其中添加以下代码:

    import platform
    if parsed_url.scheme.lower() in ['file'] and "Windows" in platform.system():
        return parsed_url.path[1:]

修改前

petastorm 0.9.8 : 导致OSError: Passed non-file path的其中一个原因及解决方案

修改后

petastorm 0.9.8 : 导致OSError: Passed non-file path的其中一个原因及解决方案

上一篇:SQl语句收藏


下一篇:Python3 解决 MacOS Big Sur 下 OSError: [Errno 30] Read-only file system 报错