排序文件时python的sort()出现问题

2024-10-02 12:29:18 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试制作一个python脚本,以按顺序重命名文件夹中的文件

我循环浏览这些文件,并将它们放在一个列表中,然后用sort()进行排序

但不幸的是,它似乎不工作,因为文件名是字符串

我的代码:

files_list = []
files = os.listdir(dir_path) 
for index, file in enumerate(files):
    filename, file_extension = os.path.splitext(file)
    files_list.append(filename + file_extension)

print(files)
files.sort()
print(files)
    

原始数据: ['1.png', '3.jpg' '2.gif' 'myfile_1.png', 'eclipsu.jpg', 'apple.gif']

我想要的是: ['1.png', '2.gif' '3.jph' 'apple.gif', 'eclipsu.jpg', 'myfiles_1.png']


Tags: 文件pathapplepngosextensionfilesfilename
1条回答
网友
1楼 · 发布于 2024-10-02 12:29:18

您可以尝试在sort()中使用键参数

a = ['1.png', '3.jpg' '2.gif' 'myfile_1.png', 'eclipsu.jpg', 'apple.gif']
a.sort(key= lambda x: x.split('.'))

输出

['1.png', '2.gif', '3.jpg', 'apple.gif', 'eclipsu.jpg', 'myfile_1.png']

相关问题 更多 >

    热门问题