Найти - Пользователи
Полная версия: Список файлов в папке => dict()
Начало » Python для экспертов » Список файлов в папке => dict()
1
kise97
Здравствуйте!

Мне нужно чтобы функция получала на вход путь до папка, возвращала функция dict() в формате, который я написал ниже.

Предположим, что есть такая структура файлов (вложенность как папок так и файлов может быть бесконечной):
D:\MEDIA\Breaking.Bad.S05E09.HD.rus.LostFilm.TV.mkv
D:\MEDIA\Iron.Man.3.2013.WEB-DL.mkv
D:\MEDIA\Dexter.S08.720p.HDTVRip.Rus.Eng.HDCLUB\Dexter.S08E03.720p.HDTVRip.Rus.Eng.HDCLUB.mkv
D:\MEDIA\Dexter.S08.720p.HDTVRip.Rus.Eng.HDCLUB\Dexter.S08E04.720p.HDTVRip.Rus.Eng.HDCLUB.mkv
D:\MEDIA\Dexter.S08.720p.HDTVRip.Rus.Eng.HDCLUB\Dexter.S08E05.720p.HDTVRip.Rus.Eng.HDCLUB.mkv
D:\MEDIA\Dexter.S08.720p.HDTVRip.Rus.Eng.HDCLUB\Dexter.S08E06.720p.HDTVRip.Rus.Eng.HDCLUB.mkv
D:\MEDIA\Dexter.S08.720p.HDTVRip.Rus.Eng.HDCLUB\Dexter.S08E07.720p.HDTVRip.Rus.Eng.HDCLUB.mkv
D:\MEDIA\The Mentalist 4 season WEB-DL 720 2xRus\The.Mentalist.S04E01.Scarlet.Ribbons.WEB-DL.720p.2xRus.Eng.Subs.mkv
D:\MEDIA\The Mentalist 4 season WEB-DL 720 2xRus\The.Mentalist.S04E02.Little.Red.Book.WEB-DL.720p.2xRus.Eng.Subs.mkv
D:\MEDIA\The Mentalist 4 season WEB-DL 720 2xRus\The.Mentalist.S04E03.Pretty.Red.Balloon.WEB-DL.720p.2xRus.Eng.Subs.mkv
D:\MEDIA\The Mentalist 4 season WEB-DL 720 2xRus\The.Mentalist.S04E04.Ring.Around.the.Rosie.WEB-DL.720p.2xRus.Eng.Subs.mkv
D:\MEDIA\The Mentalist 4 season WEB-DL 720 2xRus\The.Mentalist.S04E05.Blood.and.Sand.WEB-DL.720p.2xRus.Eng.Subs.mkv
D:\MEDIA\The Mentalist 4 season WEB-DL 720 2xRus\The.Mentalist.S04E06.Where.in.the.World.is.Carmine.O'Brien.WEB-DL.720p.2xRus.Eng.Subs.mkv
D:\MEDIA\The Mentalist 4 season WEB-DL 720 2xRus\The.Mentalist.S04E07.Blinking.Red.Light.WEB-DL.720p.2xRus.Eng.Subs.mkv
D:\MEDIA\The Mentalist 4 season WEB-DL 720 2xRus\The.Mentalist.S04E08.Pink.Tops.WEB-DL.720p.2xRus.Eng.Subs.mkv
D:\MEDIA\The Mentalist 4 season WEB-DL 720 2xRus\The.Mentalist.S04E09.The.Redshirt.WEB-DL.720p.2xRus.Eng.Subs.mkv
D:\MEDIA\The Mentalist 4 season WEB-DL 720 2xRus\The.Mentalist.S04E10.Fugue.In.Red.WEB-DL.720p.2xRus.Eng.Subs.mkv
D:\MEDIA\The Mentalist 4 season WEB-DL 720 2xRus\The.Mentalist.S04E11.Always.Bet.On.Red.WEB-DL.720p.2xRus.Eng.Subs.mkv
D:\MEDIA\The Mentalist 4 season WEB-DL 720 2xRus\The.Mentalist.S04E12.My.Bloody.Valentine.WEB-DL.720p.2xRus.Eng.Subs.mkv
D:\MEDIA\The Mentalist 4 season WEB-DL 720 2xRus\The.Mentalist.S04E13.Red.Is.The.New.Black.WEB-DL.720p.2xRus.Eng.Subs.mkv
D:\MEDIA\The Mentalist 4 season WEB-DL 720 2xRus\The.Mentalist.S04E14.At.First.Blush.WEB-DL.720p.2xRus.Eng.Subs.mkv
D:\MEDIA\The Mentalist 4 season WEB-DL 720 2xRus\The.Mentalist.S04E15.War.of.the.Roses.WEB-DL.720p.2xRus.Eng.Subs.mkv
D:\MEDIA\The Mentalist 4 season WEB-DL 720 2xRus\The.Mentalist.S04E16.His.Thoughts.Were.Red.Thoughts.WEB-DL.720p.2xRus.Eng.Subs.mkv
D:\MEDIA\The Mentalist 4 season WEB-DL 720 2xRus\The.Mentalist.S04E17.Cheap.Burgundy.WEB-DL.720p.2xRus.Eng.Subs.mkv
D:\MEDIA\The Mentalist 4 season WEB-DL 720 2xRus\The.Mentalist.S04E18.Ruddy.Cheeks.WEB-DL.720p.2xRus.Eng.Subs.mkv
D:\MEDIA\The Mentalist 4 season WEB-DL 720 2xRus\The.Mentalist.S04E19.Pink.Champagne.on.Ice.WEB-DL.720p.2xRus.Eng.Subs.mkv
D:\MEDIA\The Mentalist 4 season WEB-DL 720 2xRus\The.Mentalist.S04E20.Something's.Rotten.in.Redmund.WEB-DL.720p.2xRus.Eng.Subs.mkv
D:\MEDIA\The Mentalist 4 season WEB-DL 720 2xRus\The.Mentalist.S04E21.Ruby.Slippers.WEB-DL.720p.2xRus.Eng.Subs.mkv
D:\MEDIA\The Mentalist 4 season WEB-DL 720 2xRus\The.Mentalist.S04E22.So.Long.and.Thanks.for.All.Red.Snapper.WEB-DL.720p.2xRus.Eng.Subs.mkv
D:\MEDIA\The Mentalist 4 season WEB-DL 720 2xRus\The.Mentalist.S04E23.Red.Rover.Red.Rover.WEB-DL.720p.2xRus.Eng.Subs.mkv
D:\MEDIA\The Mentalist 4 season WEB-DL 720 2xRus\The.Mentalist.S04E24.The.Crimson.Hat.WEB-DL.720p.2xRus.Eng.Subs.mkv
D:\MEDIA\The.Mentalist.S05.720p.720p.WEB-DL.3xRus.Eng\Mentalist.s05e01.The.Red.Glass.Bead.720p.WEB-DL.Rus.Eng.mkv
D:\MEDIA\The.Mentalist.S05.720p.720p.WEB-DL.3xRus.Eng\Mentalist.s05e02.Devil's.Cherry.720p.WEB-DL.Rus.Eng.mkv
D:\MEDIA\The.Mentalist.S05.720p.720p.WEB-DL.3xRus.Eng\Mentalist.s05e03.Not.One.Red.Cent.720p.WEB-DL.Rus.Eng.mkv
D:\MEDIA\The.Mentalist.S05.720p.720p.WEB-DL.3xRus.Eng\Mentalist.s05e04.Blood.Feud.720p.WEB-DL.Rus.Eng.mkv
D:\MEDIA\The.Mentalist.S05.720p.720p.WEB-DL.3xRus.Eng\Mentalist.s05e05.Red.Dawn.720p.WEB-DL.Rus.Eng.mkv
D:\MEDIA\The.Mentalist.S05.720p.720p.WEB-DL.3xRus.Eng\Mentalist.s05e06.Cherry.Picked.720p.WEB-DL.Rus.Eng.mkv
D:\MEDIA\The.Mentalist.S05.720p.720p.WEB-DL.3xRus.Eng\Mentalist.s05e07.If.It.Bleeds.It.Leads.720p.WEB-DL.Rus.Eng.mkv
D:\MEDIA\The.Mentalist.S05.720p.720p.WEB-DL.3xRus.Eng\Mentalist.s05e08.Red.Sails.in.the.Sunset.720p.WEB-DL.Rus.Eng.mkv
D:\MEDIA\The.Mentalist.S05.720p.720p.WEB-DL.3xRus.Eng\Mentalist.s05e09.Black.Cherry.720p.WEB-DL.Rus.Eng.mkv
D:\MEDIA\The.Mentalist.S05.720p.720p.WEB-DL.3xRus.Eng\Mentalist.s05e10.Panama.Red.720p.WEB-DL.Rus.Eng.mkv
D:\MEDIA\The.Mentalist.S05.720p.720p.WEB-DL.3xRus.Eng\Mentalist.s05e11.Days.Of.Wine.And.Roses.720p.WEB-DL.Rus.Eng.mkv
D:\MEDIA\The.Mentalist.S05.720p.720p.WEB-DL.3xRus.Eng\Mentalist.s05e12.Little.Red.Corvette.720p.WEB-DL.Rus.Eng.mkv
D:\MEDIA\The.Mentalist.S05.720p.720p.WEB-DL.3xRus.Eng\Mentalist.s05e13.The.Red.Barn.720p.WEB-DL.Rus.Eng.mkv
D:\MEDIA\The.Mentalist.S05.720p.720p.WEB-DL.3xRus.Eng\Mentalist.s05e14.Red.In.Tooth.And.Claw.720p.WEB-DL.Rus.Eng.mkv
D:\MEDIA\The.Mentalist.S05.720p.720p.WEB-DL.3xRus.Eng\Mentalist.s05e15.Red.Lacquer.Nail.Polish.720p.WEB-DL.Rus.Eng.mkv
D:\MEDIA\The.Mentalist.S05.720p.720p.WEB-DL.3xRus.Eng\Mentalist.s05e16.There.Will.Be.Blood.720p.WEB-DL.Rus.Eng.mkv
D:\MEDIA\The.Mentalist.S05.720p.720p.WEB-DL.3xRus.Eng\Mentalist.s05e17.Red.White.And.Blue.720p.WEB-DL.Rus.Eng.mkv
D:\MEDIA\The.Mentalist.S05.720p.720p.WEB-DL.3xRus.Eng\Mentalist.s05e18.Behind.The.Red.Curtain.720p.WEB-DL.Rus.Eng.mkv
D:\MEDIA\The.Mentalist.S05.720p.720p.WEB-DL.3xRus.Eng\Mentalist.s05e19.Red.Letter.Day.720p.WEB-DL.Rus.Eng.mkv
D:\MEDIA\The.Mentalist.S05.720p.720p.WEB-DL.3xRus.Eng\Mentalist.s05e20.Red.Velvet.Cupcakes.720p.WEB-DL.Rus.Eng.mkv
D:\MEDIA\The.Mentalist.S05.720p.720p.WEB-DL.3xRus.Eng\Mentalist.s05e21.Red.and.Itchy.720p.WEB-DL.Rus.Eng.mkv
D:\MEDIA\The.Mentalist.S05.720p.720p.WEB-DL.3xRus.Eng\Mentalist.s05e22.Red.John's.Rules.720p.WEB-DL.Rus.Eng.mkv

На входе скрипту дается “D:\\/MEDIA\\”, результатом должно получится нечто подобное (json.jsonify(result))
{
    "base_path": "D:\\MEDIA\\",
    "Breaking.Bad.S05E09.HD.rus.LostFilm.TV.mkv",
    "Iron.Man.3.2013.WEB-DL.mkv",
    "Dexter.S08.720p.HDTVRip.Rus.Eng.HDCLUB": [
        "Dexter.S08E03.720p.HDTVRip.Rus.Eng.HDCLUB.mkv",
        "Dexter.S08E04.720p.HDTVRip.Rus.Eng.HDCLUB.mkv",
        "Dexter.S08E05.720p.HDTVRip.Rus.Eng.HDCLUB.mkv",
        "Dexter.S08E06.720p.HDTVRip.Rus.Eng.HDCLUB.mkv",
        "Dexter.S08E07.720p.HDTVRip.Rus.Eng.HDCLUB.mkv"
    ],
    "The Mentalist 4 season WEB-DL 720 2xRus": [
        "The.Mentalist.S04E01.Scarlet.Ribbons.WEB-DL.720p.2xRus.Eng.Subs.mkv",
        "The.Mentalist.S04E02.Little.Red.Book.WEB-DL.720p.2xRus.Eng.Subs.mkv",
        "The.Mentalist.S04E03.Pretty.Red.Balloon.WEB-DL.720p.2xRus.Eng.Subs.mkv",
        "The.Mentalist.S04E04.Ring.Around.the.Rosie.WEB-DL.720p.2xRus.Eng.Subs.mkv",
        "The.Mentalist.S04E05.Blood.and.Sand.WEB-DL.720p.2xRus.Eng.Subs.mkv",
        "The.Mentalist.S04E06.Where.in.the.World.is.Carmine.O'Brien.WEB-DL.720p.2xRus.Eng.Subs.mkv",
        "The.Mentalist.S04E07.Blinking.Red.Light.WEB-DL.720p.2xRus.Eng.Subs.mkv",
        "The.Mentalist.S04E08.Pink.Tops.WEB-DL.720p.2xRus.Eng.Subs.mkv",
        "The.Mentalist.S04E09.The.Redshirt.WEB-DL.720p.2xRus.Eng.Subs.mkv",
        "The.Mentalist.S04E10.Fugue.In.Red.WEB-DL.720p.2xRus.Eng.Subs.mkv",
        "The.Mentalist.S04E11.Always.Bet.On.Red.WEB-DL.720p.2xRus.Eng.Subs.mkv",
        "The.Mentalist.S04E12.My.Bloody.Valentine.WEB-DL.720p.2xRus.Eng.Subs.mkv",
        "The.Mentalist.S04E13.Red.Is.The.New.Black.WEB-DL.720p.2xRus.Eng.Subs.mkv",
        "The.Mentalist.S04E14.At.First.Blush.WEB-DL.720p.2xRus.Eng.Subs.mkv",
        "The.Mentalist.S04E15.War.of.the.Roses.WEB-DL.720p.2xRus.Eng.Subs.mkv",
        "The.Mentalist.S04E16.His.Thoughts.Were.Red.Thoughts.WEB-DL.720p.2xRus.Eng.Subs.mkv",
        "The.Mentalist.S04E17.Cheap.Burgundy.WEB-DL.720p.2xRus.Eng.Subs.mkv",
        "The.Mentalist.S04E18.Ruddy.Cheeks.WEB-DL.720p.2xRus.Eng.Subs.mkv",
        "The.Mentalist.S04E19.Pink.Champagne.on.Ice.WEB-DL.720p.2xRus.Eng.Subs.mkv",
        "The.Mentalist.S04E20.Something's.Rotten.in.Redmund.WEB-DL.720p.2xRus.Eng.Subs.mkv",
        "The.Mentalist.S04E21.Ruby.Slippers.WEB-DL.720p.2xRus.Eng.Subs.mkv",
        "The.Mentalist.S04E22.So.Long.and.Thanks.for.All.Red.Snapper.WEB-DL.720p.2xRus.Eng.Subs.mkv",
        "The.Mentalist.S04E23.Red.Rover.Red.Rover.WEB-DL.720p.2xRus.Eng.Subs.mkv",
        "The.Mentalist.S04E24.The.Crimson.Hat.WEB-DL.720p.2xRus.Eng.Subs.mkv"
    ],
    "The.Mentalist.S05.720p.720p.WEB-DL.3xRus.Eng": [
        "Mentalist.s05e01.The.Red.Glass.Bead.720p.WEB-DL.Rus.Eng.mkv",
        "Mentalist.s05e02.Devil's.Cherry.720p.WEB-DL.Rus.Eng.mkv",
        "Mentalist.s05e03.Not.One.Red.Cent.720p.WEB-DL.Rus.Eng.mkv",
        "Mentalist.s05e04.Blood.Feud.720p.WEB-DL.Rus.Eng.mkv",
        "Mentalist.s05e05.Red.Dawn.720p.WEB-DL.Rus.Eng.mkv",
        "Mentalist.s05e06.Cherry.Picked.720p.WEB-DL.Rus.Eng.mkv",
        "Mentalist.s05e07.If.It.Bleeds.It.Leads.720p.WEB-DL.Rus.Eng.mkv",
        "Mentalist.s05e08.Red.Sails.in.the.Sunset.720p.WEB-DL.Rus.Eng.mkv",
        "Mentalist.s05e09.Black.Cherry.720p.WEB-DL.Rus.Eng.mkv",
        "Mentalist.s05e10.Panama.Red.720p.WEB-DL.Rus.Eng.mkv",
        "Mentalist.s05e11.Days.Of.Wine.And.Roses.720p.WEB-DL.Rus.Eng.mkv",
        "Mentalist.s05e12.Little.Red.Corvette.720p.WEB-DL.Rus.Eng.mkv",
        "Mentalist.s05e13.The.Red.Barn.720p.WEB-DL.Rus.Eng.mkv",
        "Mentalist.s05e14.Red.In.Tooth.And.Claw.720p.WEB-DL.Rus.Eng.mkv",
        "Mentalist.s05e15.Red.Lacquer.Nail.Polish.720p.WEB-DL.Rus.Eng.mkv",
        "Mentalist.s05e16.There.Will.Be.Blood.720p.WEB-DL.Rus.Eng.mkv",
        "Mentalist.s05e17.Red.White.And.Blue.720p.WEB-DL.Rus.Eng.mkv",
        "Mentalist.s05e18.Behind.The.Red.Curtain.720p.WEB-DL.Rus.Eng.mkv",
        "Mentalist.s05e19.Red.Letter.Day.720p.WEB-DL.Rus.Eng.mkv",
        "Mentalist.s05e20.Red.Velvet.Cupcakes.720p.WEB-DL.Rus.Eng.mkv",
        "Mentalist.s05e21.Red.and.Itchy.720p.WEB-DL.Rus.Eng.mkv",
        "Mentalist.s05e22.Red.John's.Rules.720p.WEB-DL.Rus.Eng.mkv"
    ]
}

Все это мне нужно для мини файл менеджера в админке сайта…

У меня есть такая идея: проходимся os.walk, генерируем список, далее проверки isdir, isfile, в итоге получаем такой dict(). Но как вы сами понимаете, довольно много будет проверок, да и код будет достаточно большим и весьма запутанным. Поэтому, хочу спросить сообщество, как можно сделать это более адекватным способом и есть ли готовые решения?

Заранее огромное спасибо!
ilnur
проходимся os.walk, генерируем список, далее проверки isdir, isfile, в итоге получаем такой dict()
проходимся os.walk, он возвращает рекрсивно же все. Название папки, папок в папке, файлов в папке и уже на основании этих данных формировать свой дикт
kise97
Да, но он возвращает такое , поэтому придется писать еще кучу кода

D:\MEDIA\ ['Dexter.S08.720p.HDTVRip.Rus.Eng.HDCLUB', 'Insanity Deluxe Edition', 'Rip \xcc\xe5\xed\xf2\xe0\xeb\xe8\xf1\xf2 1 \xf1\xe5\xe7\xee\xed', 'The Mentalist 4 season WEB-DL 720 2xRus', 'The.Mentalist.S05.720p.720p.WEB-DL.3xRus.Eng', '\xcc\xe5\xed\xf2\xe0\xeb\xe8\xf1\xf2 2 \xf1\xe5\xe7\xee\xed', '\xcc\xe5\xed\xf2\xe0\xeb\xe8\xf1\xf2 3 \xf1\xe5\xe7\xee\xed'] ['Breaking.Bad.S05E09.HD.rus.LostFilm.TV.mkv', 'Iron.Man.3.2013.WEB-DL.mkv']
D:\MEDIA\Dexter.S08.720p.HDTVRip.Rus.Eng.HDCLUB [] ['Dexter.S08E03.720p.HDTVRip.Rus.Eng.HDCLUB.mkv', 'Dexter.S08E04.720p.HDTVRip.Rus.Eng.HDCLUB.mkv', 'Dexter.S08E05.720p.HDTVRip.Rus.Eng.HDCLUB.mkv', 'Dexter.S08E06.720p.HDTVRip.Rus.Eng.HDCLUB.mkv', 'Dexter.S08E07.720p.HDTVRip.Rus.Eng.HDCLUB.mkv', '~uTorrentPartFile_3F66E345F.dat']
D:\MEDIA\The Mentalist 4 season WEB-DL 720 2xRus [] ['The.Mentalist.S04E01.Scarlet.Ribbons.WEB-DL.720p.2xRus.Eng.Subs.mkv', 'The.Mentalist.S04E02.Little.Red.Book.WEB-DL.720p.2xRus.Eng.Subs.mkv', 'The.Mentalist.S04E03.Pretty.Red.Balloon.WEB-DL.720p.2xRus.Eng.Subs.mkv', 'The.Mentalist.S04E04.Ring.Around.the.Rosie.WEB-DL.720p.2xRus.Eng.Subs.mkv', 'The.Mentalist.S04E05.Blood.and.Sand.WEB-DL.720p.2xRus.Eng.Subs.mkv', "The.Mentalist.S04E06.Where.in.the.World.is.Carmine.O'Brien.WEB-DL.720p.2xRus.Eng.Subs.mkv", 'The.Mentalist.S04E07.Blinking.Red.Light.WEB-DL.720p.2xRus.Eng.Subs.mkv', 'The.Mentalist.S04E08.Pink.Tops.WEB-DL.720p.2xRus.Eng.Subs.mkv', 'The.Mentalist.S04E09.The.Redshirt.WEB-DL.720p.2xRus.Eng.Subs.mkv', 'The.Mentalist.S04E10.Fugue.In.Red.WEB-DL.720p.2xRus.Eng.Subs.mkv', 'The.Mentalist.S04E11.Always.Bet.On.Red.WEB-DL.720p.2xRus.Eng.Subs.mkv', 'The.Mentalist.S04E12.My.Bloody.Valentine.WEB-DL.720p.2xRus.Eng.Subs.mkv', 'The.Mentalist.S04E13.Red.Is.The.New.Black.WEB-DL.720p.2xRus.Eng.Subs.mkv', 'The.Mentalist.S04E14.At.First.Blush.WEB-DL.720p.2xRus.Eng.Subs.mkv', 'The.Mentalist.S04E15.War.of.the.Roses.WEB-DL.720p.2xRus.Eng.Subs.mkv', 'The.Mentalist.S04E16.His.Thoughts.Were.Red.Thoughts.WEB-DL.720p.2xRus.Eng.Subs.mkv', 'The.Mentalist.S04E17.Cheap.Burgundy.WEB-DL.720p.2xRus.Eng.Subs.mkv', 'The.Mentalist.S04E18.Ruddy.Cheeks.WEB-DL.720p.2xRus.Eng.Subs.mkv', 'The.Mentalist.S04E19.Pink.Champagne.on.Ice.WEB-DL.720p.2xRus.Eng.Subs.mkv', "The.Mentalist.S04E20.Something's.Rotten.in.Redmund.WEB-DL.720p.2xRus.Eng.Subs.mkv", 'The.Mentalist.S04E21.Ruby.Slippers.WEB-DL.720p.2xRus.Eng.Subs.mkv', 'The.Mentalist.S04E22.So.Long.and.Thanks.for.All.Red.Snapper.WEB-DL.720p.2xRus.Eng.Subs.mkv', 'The.Mentalist.S04E23.Red.Rover.Red.Rover.WEB-DL.720p.2xRus.Eng.Subs.mkv', 'The.Mentalist.S04E24.The.Crimson.Hat.WEB-DL.720p.2xRus.Eng.Subs.mkv']
D:\MEDIA\The.Mentalist.S05.720p.720p.WEB-DL.3xRus.Eng [] ['Mentalist.s05e01.The.Red.Glass.Bead.720p.WEB-DL.Rus.Eng.mkv', "Mentalist.s05e02.Devil's.Cherry.720p.WEB-DL.Rus.Eng.mkv", 'Mentalist.s05e03.Not.One.Red.Cent.720p.WEB-DL.Rus.Eng.mkv', 'Mentalist.s05e04.Blood.Feud.720p.WEB-DL.Rus.Eng.mkv', 'Mentalist.s05e05.Red.Dawn.720p.WEB-DL.Rus.Eng.mkv', 'Mentalist.s05e06.Cherry.Picked.720p.WEB-DL.Rus.Eng.mkv', 'Mentalist.s05e07.If.It.Bleeds.It.Leads.720p.WEB-DL.Rus.Eng.mkv', 'Mentalist.s05e08.Red.Sails.in.the.Sunset.720p.WEB-DL.Rus.Eng.mkv', 'Mentalist.s05e09.Black.Cherry.720p.WEB-DL.Rus.Eng.mkv', 'Mentalist.s05e10.Panama.Red.720p.WEB-DL.Rus.Eng.mkv', 'Mentalist.s05e11.Days.Of.Wine.And.Roses.720p.WEB-DL.Rus.Eng.mkv', 'Mentalist.s05e12.Little.Red.Corvette.720p.WEB-DL.Rus.Eng.mkv', 'Mentalist.s05e13.The.Red.Barn.720p.WEB-DL.Rus.Eng.mkv', 'Mentalist.s05e14.Red.In.Tooth.And.Claw.720p.WEB-DL.Rus.Eng.mkv', 'Mentalist.s05e15.Red.Lacquer.Nail.Polish.720p.WEB-DL.Rus.Eng.mkv', 'Mentalist.s05e16.There.Will.Be.Blood.720p.WEB-DL.Rus.Eng.mkv', 'Mentalist.s05e17.Red.White.And.Blue.720p.WEB-DL.Rus.Eng.mkv', 'Mentalist.s05e18.Behind.The.Red.Curtain.720p.WEB-DL.Rus.Eng.mkv', 'Mentalist.s05e19.Red.Letter.Day.720p.WEB-DL.Rus.Eng.mkv', 'Mentalist.s05e20.Red.Velvet.Cupcakes.720p.WEB-DL.Rus.Eng.mkv', 'Mentalist.s05e21.Red.and.Itchy.720p.WEB-DL.Rus.Eng.mkv', "Mentalist.s05e22.Red.John's.Rules.720p.WEB-DL.Rus.Eng.mkv"]
agalen
Не совсем понятно, что нужно получить. Как должны быть представлены директории - как list или dict?
Если как list, то вложенные директории будут безымянные.
В примере синтаксическая ошибка:
{ 
    "base_path": "D:\\MEDIA\\", 
    "Breaking.Bad.S05E09.HD.rus.LostFilm.TV.mkv", # Где key: value?
...
kise97
В итоге нужно получить JSON, который похож на тот, что я выложил в первом посте. Соответственно, нужно получить dict()
В примере синтаксическая ошибка:
Да, верно, это синтаксическая ошибка, но дело в том, что просто наглядно решил показать, что должно получиться в итоге
lorien
Почему всякие нубские вопросы размещают в разделе Python для экспертов? Где тут экспертиза нужна?

> У меня есть такая идея: проходимся os.walk, генерируем список, далее проверки isdir, isfile, в итоге получаем такой dict(). Но как вы сами понимаете, довольно много будет проверок, да и код будет достаточно большим и весьма запутанным

Так и сделать. Функции isdir и isfile не нужны т.к. os.walk сам разбивает файлы на эти группы. Покажите ваш достаточно большой и весьма запутанный код, подскажем, как улучшить.
kise97
Апну пожалуй..

Вот решение


http://code.activestate.com/recipes/577879-create-a-nested-dictionary-from-oswalk/
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB