Предполагая, что дерево файлов выглядит следующим образом:
|--PPTs
| |--1_ppt.csv
| |--2_ppt.csv
| .
| .
| |--n_ppt.csv
|--SIM1
|--SIM2
.
.
|--SIMN
|--script.py
Вы можете сделать следующее:
from pathlib import Path
import shutil
base_path = Path.cwd()
ppt_path = base_path.joinpath('PPTs')
for ppt in ppt_path.iterdir():
ppt_num = ppt.name.split('_')[0]
out_path = base_path.joinpath(f'SIM{ppt_num}', ppt.name) # e.g. SIM1/ppt_1.csv
shutil.copy(ppt, out_path)
Вы также можете создавать каталоги на лету, изменив цикл for:
for ppt in ppt_path.iterdir():
ppt_num = ppt.name.split('_')[0]
out_folder = base_path.joinpath(f'SIM{ppt_num}')
# Add this line
out_folder.mkdir(exist_ok=True)
out_path = out_folder.joinpath(ppt.name) # e.g. SIM1/ppt_1.csv
shutil.copy(ppt, out_path)