python - 排序文件时python的sort()问题
问题描述
我正在尝试制作一个 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']
解决方案
您可以尝试在 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']
推荐阅读
- java - 高效优化算法
- cypress - 在 cypress 的主要规范之前和之后执行规范
- python - 如何在不上传到 pypi 的情况下构建 python 包并在本地安装
- python - 如何一个一个地打印一个类中的所有实例?
- c# - ASP.NET Core 2 MVC 选择标记帮助程序(下拉) 所选项目并不总是反映值
- office-js - 无法更改主页功能区上 Excel 中的默认图标
- php - 层次树按字母排序
- python - 在数据框中查找非日期
- r - 用于位置映射的 rvest 和 xpath 抓取表
- excel - SSIS:使用文件系统任务复制文件后无法写入 Excel 文件 (.xlsx)