Как я могу организовать файлы, посмотрев последние цифры имен файлов в python? - PullRequest
1 голос
/ 06 января 2020

У меня есть папка с именами файлов, как показано ниже.

1asdf0001.png

2asdf0002.png

3asdf0003.png

4asdf0004.png

5asdf0005.png

6asdf0001.png

7asdf0002.png

8asdf0003.png

9asdf0004.png

10asdf0001.png

11asdf0002.png

.

.

.

Теперь я хочу создать папки на основе последних di git файлов.

folder 1: 1asdf0001.png, 2asdf0002.png, 3asdf0003.png, 4asdf0004.png, 5asdf0005.png

folder 2: 6asdf0001.png, 7asdf0002.png, 8asdf0003.png, 9asdf0004.png

folder 3: 10asdf0001.png, 11asdf0002.png

Как я могу сделать это в python? Я думал использовать «заканчивается», но я не знаю, как установить случайное число .. Пожалуйста, помогите мне.

1 Ответ

0 голосов
/ 06 января 2020

Вот способ сделать:

from itertools import groupby

l = ["1asdf0001.png","2asdf0002.png","3asdf0003.png","4asdf0004.png","5asdf0005.png","6asdf0001.png",
     "7asdf0002.png","8asdf0003.png","9asdf0004.png","10asdf0001.png","11asdf0002.png"]

grps = {}
for en, (key, grp) in enumerate(groupby(l, key=lambda x: int(x[0]) // 6)):
    grps['folder' + str(en)] = [x for x in grp]

print(grps)

{'folder0': ['1asdf0001.png', '2asdf0002.png', '3asdf0003.png', '4asdf0004.png', '5asdf0005.png'], 
 'folder1': ['6asdf0001.png', '7asdf0002.png', '8asdf0003.png', '9asdf0004.png'], 
 'folder2': ['10asdf0001.png', '11asdf0002.png']}

...