Python实现文件/文件夹名按字符串排序或者按数字排序

news/2024/11/30 20:41:13/

如下图,获取sample_data路径下的文件夹名,其实这是我们希望得到的排序方式。

在这里插入图片描述
实际上,当我们直接使用sort排序时,得到的是:

import osinput_dir = r'./sample_data'
file_list = os.listdir(input_dir)
print(file_list)
file_list.sort() # 文件名 按字符串排序
print(file_list)

得到的输出是:

[‘file101.txt’, ‘file2.txt’, ‘file23.txt’, ‘file10.txt’, ‘file1.txt’, ‘file3.txt’]
[‘file1.txt’, ‘file10.txt’, ‘file101.txt’, ‘file2.txt’, ‘file23.txt’, ‘file3.txt’]

显然,排序后并不是我们需要的,在Python中,我们通过Lamda表达式定位到数字部分,这显然有一些局限性,因为数字在文件名中位置变化时,脚本也要作相应的改变。

file_list.sort(key=lambda x: int(x[4:-4])) # 文件名 按数字排序
print(file_list)

得到的输出是:

[‘file1.txt’, ‘file2.txt’, ‘file3.txt’, ‘file10.txt’, ‘file23.txt’, ‘file101.txt’]

代码在:
https://github.com/feelins/Python-linguistics

欢迎关注公众号:极地语音工作室;
CSDN博客:https://blog.csdn.net/shaopengfei


http://www.ppmy.cn/news/513987.html

相关文章

管理文件夹,批量重命名排序

大家有没有遇到过电脑文件,文件夹太多,管理起来特别麻烦,感觉杂乱无章的问题!今天给大家介绍一款工具,“优速文件重命名”,可以让你轻松管理文件夹,让你不会再有杂乱的感觉。批量重命名你的文件…

Android 之文件夹排序

按文件名排序 /*** 按文件名排序* param filePath*/public static ArrayList<String> orderByName(String filePath) {ArrayList<String> FileNameList new ArrayList<String>();File file new File(filePath);File[] files file.listFiles();List fileLi…

python文件排序

目录 # 常规排序sort() 自然排序natsort listdir 时间顺序排序&#xff1a; 遍历目录&#xff0c;文件大小倒叙排序 自定义函数排序 # 常规排序sort() a [1.mp4, 3.mp4, 10.mp4, 2.mp4] a.sort() print(a) 可以看到&#xff0c;sort()在进行文件名排序时&#xff0c;是…

Android之文件夹排序(基于名称、最近修改时间、大小)

基于名称&#xff1a; /*** 按文件名排序* param filePath*/public static ArrayList<String> orderByName(String filePath) {ArrayList<String> FileNameList new ArrayList<String>();File file new File(filePath);File[] files file.listFiles();Li…

文件夹排序(先文件夹排序,后文件排序)

public static void sortFiles(File[] files) {Arrays.sort(files, new Comparator<File>() {Overridepublic int compare(File lhs, File rhs) {//返回负数表示o1 小于o2&#xff0c;返回0 表示o1和o2相等&#xff0c;返回正数表示o1大于o2。 boolean l1 lhs.isDirecto…

IDEA左侧,按照文件夹排序

看下图&#xff0c;一开始设置了是没有效果的&#xff0c;设置完要双击项目&#xff0c;把项目重新伸缩下&#xff0c;或者重启。

计算机保存文件夹纵向排序,文件夹怎么自己排序,文件夹里怎么排序

很多时候我们发现Win7系统中,文件和文件夹是不可以随意拖动的,不管你拖动到什么位置都会自动排列回去,那么有时我们想按自己的习惯排列文件和文件夹图标就不可以了,不过按下面小编的方法设置一下,一切都搞定了! Win7怎么让文件及文件夹可以自由排列随意拖动? 操作方法如…

TotalCommander查看文件夹大小和文件夹排序

1.查看文件夹大小&#xff1a;详细资料显示模式下Alt&#xff0b;Shift&#xff0b;Enter 2.文件夹排序&#xff1a;配置——选项——显示——文件夹排序方式——和文件一样