Python的os.listdir在获取文件列表时的顺序问题

新手上路,请多包涵

这是在windows资源管理器中显示的文件顺序

而用os.listdir获得的list顺序是这样子的:
['03.jpg', '1.jpg', '2.jpg', '3.jpg', '5.jpg', '6.png', 'test.url']

请问要怎样才能获得和windows资源管理器顺序一样的文件列表呢?

阅读 22.4k
1 个回答

排下序试下...

import os
result = os.listdir('.')
result.sort()
print result

不过感觉要求跟资源管理器一样的的顺序, 意义不大..因为资源管理器那个列表, 可能是按照修改时间, 也可能是按照名字, 或者按照别的不知名的顺序..

按照修改时间排序, 可以自己调整

import os
result = [(i, os.stat(i).st_mtime) for i in os.listdir('.')]
for i in sorted(result, key=lambda x: x[1]):
    print i[0]
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题