LINUX.ORG.RU

Поиск файла того же имени

 , ,


1

2

С помощью Path(file).rglob(…) найден файл, надо найти с тем же именем, но немного другим суффиксом. Признаться довольно долго искал решение и всё же получилось такое:

import os

def find_ifo (path):
    name = os.path.splitext(path)[0]
    g = path.parent.glob('*.[iI][fF][oO]')
    return next(x for x in g if os.path.splitext(x)[0] == name)

ИМХО какое-то уродство получилось. Может среди обширного набора инструментов есть что-то попроще?

★★★★★

Последнее исправление: ados (всего исправлений: 1)

Зачем тебе glob, когда можешь обойти файлы в директории?

Если я правильно понял, что ты хочешь, и ты хочешь сохранить регистр имени файла и искать расширение в любом регистре, то как-то так

next(filter(lambda f: f.stem == path.stem and f.suffix.lower() == '.ifo', path.parent.iterdir()),None)
grazor ★★
()
Ответ на: комментарий от anonymous

Что может быть проще чем запуск аж целых двух программ для решения такой задачи?

ados ★★★★★
() автор топика
Ответ на: комментарий от grazor

Принцип понял и утащил к себе в утиль. Спасибо.

ados ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.