在 pyfilesystem 的 s3 文件系统中打开文件失败

Opening a file in pyfilesystem's s3 filesystem fails

我试图在 pyfilesystem 的 s3 文件系统中简单地打开一个文件:

>>> s3fs.listdir('dfparks/test')
['test.txt']
>>> s3fs.open('dfparks/test/test.txt')

我收到错误:

fs.errors.ResourceNotFound: resource 'dfparks/test/test.txt' not found

我已经尝试了路径/s3 的每个变体 url 我能想到但我总是遇到未找到的错误。

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等待接受)

如果这对你有用,请告诉我。