pyfilesystem - 在 pyfilesystem 的 s3 文件系统中打开文件失败
问题描述
我试图简单地在 pyfilesystem 的 s3 文件系统中打开一个文件,如下所示:
>>> s3fs.listdir('dfparks/test')
['test.txt']
>>> s3fs.open('dfparks/test/test.txt')
我得到错误:
fs.errors.ResourceNotFound: resource 'dfparks/test/test.txt' not found
我已经尝试了所有我能想到的 path / s3 url 变体,但我总是得到 not found 错误。
解决方案
fs.s3fs 默认在严格模式下工作,检查是否存在目录标记(以“/”结尾的键)。您可以通过将 strict=False 传递给 S3FS 构造函数或将“strict=0”附加到传递给 fs.open_fs 的 url 来关闭严格模式
但是,不幸的是,即使在 strict=False 模式下,S3FS 仍然在少数地方进行这些检查。我的 PR 正在等待审查修复:https ://github.com/PyFilesystem/s3fs/pull/60 。同时,您可以使用 fs-s3fs-ng 软件包安装固定版本:
pip install fs-s3fs-ng
此外,它默认启用非严格模式并打开 S3 流式传输(其他 PR 等待接受)
请让我知道这是否适合您。
推荐阅读
- qt - QT Creator - 本地和表达式窗口中的十六进制显示
- c# - 无法从模型中获取 ASP.Net 中的相关数据
- arcore - 如何将对象放置在 ARcore 中的特定位置?
- javascript - 如何防止Vue多次加载数据?
- ios - 使用 UserDefaults 保存来自 plist 的字典数组
- angular - 如何动态设置角度的状态数
- vb.net - Visual Basic - 制作折线图
- arrays - 根据数组删除匹配的 SSN
- bash - 有哪些常见的 HDFS 命令可以映射到 bash 文件中?
- javascript - 仅在 Firefox 中通过 mp4 播放 ogg