如何将文件从当前路径移动到与要移动的文件名称相似或相似的特定文件夹?

问题描述 投票:0回答:1

我的文件夹结构如下所示:

- 95000
- 95002
- 95009
- AR_95000.pdf
- AR_95002.pdf
- AR_95009.pdf
- BS_95000.pdf
- BS_95002.pdf
- BS_95009.pdf

【注95000、95002、95009为文件夹】


我的目标是将文件

AR_95000.pdf
BS_95000.pdf
移动到名为
95000
的文件夹, 然后
AR_95002.pdf
BS_95002.pdf
到名为
95002
的文件夹,依此类推。

PDF是系统生成的报告,因此我无法控制命名。

python directory directory-structure
1个回答
37
投票

使用

pathlib
这个任务变得超级简单:

from pathlib import Path
from glob import glob

root = Path("/path/to/your/root/dir")

for file in root.glob("*.pdf"):
    folder_name = file.stem.rpartition("_")[-1]
    file.rename(root / folder_name / file.name)

如您所见,与

pathlib
/
os
(在本例中)相比,
shutil
的一个主要优点是
Path
对象直接提供给类似
os
的函数的接口。这样,实际的复制 (
rename()
) 就直接作为实例方法完成了。


参考资料:

© www.soinside.com 2019 - 2024. All rights reserved.