事情起源于我一个很简单的需求:将文件夹中显示的文件按照自定义的规则排序。我有一堆文件夹,文件夹的名称最后一个字符是我想要的排序关键字。
我用的是Ubuntu系统,找了一圈也没发现系统提供这个功能。最后只好自己实现。
思路很简单:
- 先用python中的
os.listdir()
方法将文件名读进列表 - 然后以我想要的方式对列表进行排序。
- 排序完成之后挨个修改文件的修改时间。
- 最后在文件夹中按照修改时间排序就可以了。
代码如下:1
2
3
4
5import os
stinfo = os.stat('path') #stinfo可以当作具有十个元素的列表使用
print(stinfo)
atime,mtime = stinfo[-3], stinfo[-2]
os.utime('path',(atime,mtime))
其中atime是access time,mtime是modified time。