drivendataorg/cloudpathlib

replace and rename don't handle "directories"

开放

#64 创建于 2020年9月1日

 (0 条评论) (0 个反应) (0 位负责人)Python (87 个派生)auto 404
S3bugdesign decisiongood first issue

仓库指标

星标
 (624 个星标)
PR 合并指标
 (PR 指标待抓取)

描述

CloudPath.replace and CloudPath.rename (which are the same function for cloudpathlib) do not handle "directories".

The pathlib docs say:

Rename this file or directory to the given target, and return a new Path instance pointing to target. If target points to an existing file or directory, it will be unconditionally replaced.
>>> from cloudpathlib import CloudPath
>>> s = CloudPath("s3://my-bucket/")
>>> (s / "foo" / "bar.txt").touch()
>>> (s / "foo").replace(s / "baz")
Traceback (most recent call last):
...
botocore.exceptions.ClientError: An error occurred (404) when calling the HeadObject operation: Not Found

贡献者指南