最近在写项目时,需要用到文档排序,看了半天决定用os.sort的key来排序
files = os.listdir('./sourch')
print(files)
files.sort(key=lambda x:int(''.join(re.findall('\d', x.split('日')[0]))))
print(files)
原来的结果
['嗨皮鸭12月17日.xls', '嗨皮鸭12月27日(1).xls', '嗨皮鸭12月21日.xls', '嗨皮鸭12月20日.xls', '嗨皮鸭12月31日.xls', '嗨皮鸭12月11日.xls', '嗨皮鸭12月1日-43.xls', '嗨皮鸭12月30日.xls', '嗨皮鸭12月26日.xls', '嗨皮鸭12月25日.xls', '嗨皮鸭12月5日-45.xls', '嗨皮鸭12月9日-249.xls', '嗨皮鸭12月7日-22.xls', '嗨皮鸭12月29日.xls', '嗨皮鸭12月16日(1).xls', '嗨皮鸭12月13日.xls', '嗨皮鸭12月12日.xls', '嗨皮鸭12月28日.xls', '嗨皮鸭12月3日.xls', '嗨皮鸭12月24日.xls', '嗨皮鸭12月6日-20.xls', '嗨皮鸭12月4日.xls', '嗨皮鸭12月15日.xls', '嗨皮鸭12月8日.xls', '嗨皮鸭12月23日.xls', '嗨皮鸭12月19日.xls', '嗨皮鸭12月18日.xls', '嗨皮鸭12月22日(1).xls', '嗨皮鸭12月10日-5007.xls', '嗨皮鸭12月2日(2).xls', '嗨皮鸭12月14日.xls']
排序结果
['嗨皮鸭12月1日-43.xls', '嗨皮鸭12月2日(2).xls', '嗨皮鸭12月3日.xls', '嗨皮鸭12月4日.xls', '嗨皮鸭12月5日-45.xls', '嗨皮鸭12月6日-20.xls', '嗨皮鸭12月7日-22.xls', '嗨皮鸭12月8日.xls', '嗨皮鸭12月9日-249.xls', '嗨皮鸭12月10日-5007.xls', '嗨皮鸭12月11日.xls', '嗨皮鸭12月12日.xls', '嗨皮鸭12月13日.xls', '嗨皮鸭12月14日.xls', '嗨皮鸭12月15日.xls', '嗨皮鸭12月16日(1).xls', '嗨皮鸭12月17日.xls', '嗨皮鸭12月18日.xls', '嗨皮鸭12月19日.xls', '嗨皮鸭12月20日.xls', '嗨皮鸭12月21日.xls', '嗨皮鸭12月22日(1).xls', '嗨皮鸭12月23日.xls', '嗨皮鸭12月24日.xls', '嗨皮鸭12月25日.xls', '嗨皮鸭12月26日.xls', '嗨皮鸭12月27日(1).xls', '嗨皮鸭12月28日.xls', '嗨皮鸭12月29日.xls', '嗨皮鸭12月30日.xls', '嗨皮鸭12月31日.xls']