Tra*_*ggs 5 python file-rename python-3.x
我有一个可能看起来像的目录结构
Data
Current
A
B
C
Previous
A
X
Run Code Online (Sandbox Code Playgroud)
在尽可能简单/快速的步骤中,我想重命名Current为Previous包含内容并擦除原始内容,使其现在:
Data
Previous
A
B
C
Run Code Online (Sandbox Code Playgroud)
我尝试过类似的东西:
from pathlib import Path
src = Path('Data/Current')
dest = Path('Data/Previous')
src.replace(dest)
Run Code Online (Sandbox Code Playgroud)
文档让我希望这会起作用:
如果target指向现有文件或目录,则将无条件地替换它.
但它似乎确实是有条件的.我得到一个Directory not empty例外.我想我可以先递归删除Previous目录.这基本上是唯一的解决方案吗?或者有更好的方法来实现这一目标吗?
(我更喜欢pathlib,但如果os或者shutil是更好的锤子,我不反对他们)
(我在Linux上运行)
dest继续 sehafoc 的评论,使用以下方式删除 (“Data/Previous”)的整个文件树后shutil:
shutil.rmtree(dest)
Run Code Online (Sandbox Code Playgroud)
src将(“数据/当前”)重命名为dest.
src.rename(dest)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
275 次 |
| 最近记录: |