gpt4 book ai didi

python - 使用 pathlib 破坏性地将一个目录重命名为另一个现有目录

转载 作者:太空狗 更新时间:2023-10-30 01:36:22 26 4
gpt4 key购买 nike

我的目录结构可能类似于

Data
Current
A
B
C
Previous
A
X

在尽可能简单/快速的步骤中,我想将 Current 重命名为 Previous 包括内容并删除原来的内容,这样它现在是:

 Data
Previous
A
B
C

我试过类似的方法:

from pathlib import Path
src = Path('Data/Current')
dest = Path('Data/Previous')
src.replace(dest)

文档让我希望这会起作用:

If target points to an existing file or directory, it will be unconditionally replaced.

但它确实似乎是有条件的。我得到一个 Directory not empty 异常。我想我可以先递归地删除 Previous 目录。这基本上是唯一的解决方案吗?还是有更好的方法来实现这一点?

(我更喜欢pathlib,但如果osshutil是更好的锤子,我不反对它们)

(我在 Linux 上运行)

最佳答案

继续 sehafoc 的评论,在使用 shutil 删除 dest(“Data/Previous”)的整个文件树之后:

shutil.rmtree(dest)

src(“数据/当前”)重命名为dest

src.rename(dest)

关于python - 使用 pathlib 破坏性地将一个目录重命名为另一个现有目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50355180/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com