
python中按文件时间顺序来排列一个文件夹下面的文件,如何实现?
当识别到一个文件夹时,用了一个for循环,判断其中每一个文件是否满足条件,满足则打印出来。这文件夹中的各文件是默认了一个排序,如果想按其文件时间属性来依次取出,如何实现?...
当识别到一个文件夹时,用了一个for循环,判断其中每一个文件是否满足条件,满足则打印出来。这文件夹中的各文件是默认了一个排序,如果想按其文件时间属性来依次取出,如何实现?
思路基本是按下面答案进行的。需注意几点:
a.排列操作就这一句orderlist= sorted(dict.items(), key=lambda dict:dict[1])
dict为一字典;orderlist为返回的列表
b.必须要用dict.items() ,此处不能改为dict.keys();返回的有序列表中,cfile[0]才是想要的文件名
c.可通过os.path.getmtime(file)来获取文件的最后修改时间属性 展开
思路基本是按下面答案进行的。需注意几点:
a.排列操作就这一句orderlist= sorted(dict.items(), key=lambda dict:dict[1])
dict为一字典;orderlist为返回的列表
b.必须要用dict.items() ,此处不能改为dict.keys();返回的有序列表中,cfile[0]才是想要的文件名
c.可通过os.path.getmtime(file)来获取文件的最后修改时间属性 展开
1个回答
推荐于2016-03-13
展开全部
建立一个字典,键是文件名,键值是时间属性,
然后用内置的sorted()函数,根据字典的值进行排序,返回一个有序的列表
假设字典名字叫folder,有序列表叫order
order = sorted(folder.items(),key=lambda e:e[1],reverse=False)
key = lambda e:e[1]表示按值进行排序,也就是你需要的按时间属性排序,e[0]则是按键名进行排序
reverse=False可以省略不写,默认是升序排列,reverse=True就是降序排列了
然后用内置的sorted()函数,根据字典的值进行排序,返回一个有序的列表
假设字典名字叫folder,有序列表叫order
order = sorted(folder.items(),key=lambda e:e[1],reverse=False)
key = lambda e:e[1]表示按值进行排序,也就是你需要的按时间属性排序,e[0]则是按键名进行排序
reverse=False可以省略不写,默认是升序排列,reverse=True就是降序排列了
追问
如何从一个列表中获取其每个文件的时间属性呢?然后再放至一个字典中去?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询