【问题描述】使用os.listdir(path)
排序,打印出的某文件夹下的内容,如下
'[checkreport_20210104121003.xlsx', 'checkreport_20210104121003.html', 'checkreport_20210104131002.xlsx', 'checkreport_20210104131002.html', 'checkreport_20210104141002.xlsx', 'checkreport_20210104141002.html']
文件名虽然按从小到大的顺序排列了,但后缀名并未排序
【解决方案】使用list.sort()
方法按文件名排序,打印如下
['checkreport_20210104121003.html', 'checkreport_20210104121003.xlsx', 'checkreport_20210104131002.html', 'checkreport_20210104131002.xlsx', 'checkreport_20210104141002.html', 'checkreport_20210104141002.xlsx']
【原因分析】os.listdir(path)
在其文档中描述为:The list is in arbitrary order, and does not include the special entries ‘.’ and ‘..’ even if they are present in the directory. 其说明了返回的list是任意顺序的,不包含’.‘和’..'特殊边界