项目场景
某个文件夹如test
下,有若干文件如1.txt, 2.txt, 3.txt
,我们想通过os.listdir()
获取文件列表。
test1
1.txt
2.txt
3.txt
问题描述
Windows系统使用os.listdir()
得到的是顺序排序的文件列表。
>>> import os
>>> os.listdir()
['1.txt', '2.txt', '3.txt']
Linux系统使用os.listdir()
得到的却是乱序排序的文件列表。
>>> import os
>>> os.listdir()
['3.txt', '2.txt', '1.txt']
原因分析
应该是系统内部文件存储机制不同(猜的)。
解决方案用Python自带排序函数sorted()
排个序就行了。
>>> import os
>>> os.listdir()
['3.txt', '2.txt', '1.txt']
>>> sorted(os.listdir())
['1.txt', '2.txt', '3.txt']