python-对⽬录下的⽂件按时间排序
sorted 语法:
sorted(iterable, key=None, reverse=False)
参数说明:
iterable -- 可迭代对象。
key -- 主要是⽤来进⾏⽐较的元素,只有⼀个参数,具体的函数的参数就是取⾃于可迭代对象中,指定可迭代对象中的⼀个元素来进⾏排序。
reverse -- 排序规则,reverse = True 降序, reverse = False 升序(默认)
1.按照时间来排序
def get_file_list(file_path):
dir_list = os.listdir(file_path)
if not dir_list:
return
else:
# 注意,这⾥使⽤lambda表达式,将⽂件按照最后修改时间顺序升序排列
# ime() 函数是获取⽂件最后修改时间
# ime() 函数是获取⽂件最后创建时间
dir_list = sorted(dir_list,key=lambda x: ime(os.path.join(file_path, x)))
# print(dir_list)
return dir_list
2.获取最后修改时间的⽂件路径
import os
url='D:\PycharmProjects\Ambulance_Api\logs'
lists=os.listdir(url)
print(lists)
lists.sort(key=lambda fn: ime(url+'\\'+fn))
filepath=os.path.join(url,lists[-1])
print(filepath)
3.按照⽂件名字来排序
1)⽤库函数sorted()对字符串排序,它的对象是字符
2)⽤函数sort()对数字排序,它的对象是数字,如果读取⽂件的话,需要进⾏处理(把⽂件后缀名‘屏蔽’)
import os
img_path ='./img/'
sortedlistimg_list =sorted(os.listdir(img_path)) #⽂件名按字母排序
img_nums =len(img_list)
for i in range(img_nums):
img_name = img_path + img_list[i]
print(img_name)
注意:顺便提下,sort函数中⽤到了匿名函数(key = lambda x:int(x[:-4])),其作⽤是将后缀名'.jpg'“屏蔽”(因为‘.jpg’是4个字符,所以[:-4]的含义是从⽂件名开始到倒数第四个字符为⽌)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论