Перемещение файла в папку, созданную с таким же именем как у файла

Задача стоит в том, чтоб для каждого файла с определенным разрешением создать папку с таким же именем и переместить в эту папку файл. Я предпологаю, что код должен выглядеть так:

import os, shutil
for filename in os.listdir(','):
    if filename.endswith('.???'):   # ??? - необходимое разрешение файла
        os.makedir(???)             
        shutil.move(???)

Не могу понять, что писать в скобках os.makedir и sutil.move. А может это вообще можно по-другому сделать? Заранее спасибо за помощь.


Ответы (1 шт):

Автор решения: vadim vaduxa
from pathlib import Path

def suffix(source, destination, recursively=True):
    d = Path(destination)
    d.mkdir(exist_ok=True)
    for f in filter(Path.is_file, Path(source).glob('**/*' if recursively else '*')):
        p = d.joinpath(f.suffix)
        p.mkdir(exist_ok=True)
        f.replace(p.joinpath(f.name))

suffix('c:\\source', 'c:\\destination')
→ Ссылка