如何通过查看python中文件名的最后几位来组织文件?

问题描述 投票:0回答:1

我有一个包含如下文件名的文件夹。

1asdf0001.png

2asdf0002.png

3asdf0003.png

4asdf0004.png

5asdf0005.png

6asdf0001.png

7asdf0002.png

8asdf0003.png

9asdf0004.png

10asdf0001.png

11asdf0002.png

.

.

.

现在,我要基于文件的最后一位来创建文件夹。

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中做到这一点?我当时正在考虑使用“ endswith”,但我不知道如何设置随机数。请帮助我。

python filenames os.walk reorganize
1个回答
0
投票
这是一种方法:

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']}

© www.soinside.com 2019 - 2024. All rights reserved.