【问题标题】:Opening a file in pyfilesystem's s3 filesystem fails在 pyfilesystem 的 s3 文件系统中打开文件失败
【发布时间】:2019-07-26 21:21:22
【问题描述】:

我试图简单地在 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 错误。

【问题讨论】:

    标签: pyfilesystem


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-01-02
      • 2014-06-01
      • 2015-01-22
      • 1970-01-01
      • 2014-04-19
      • 2019-09-30
      • 2012-12-08
      相关资源
      最近更新 更多