首页  >  问答  >  正文

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

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

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

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

PHP中文网PHP中文网2669 天前1744

全部回复(1)我来回复

  • 扔个三星炸死你

    扔个三星炸死你2017-06-28 09:28:11

    排下序试下...

    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]
    

    回复
    0
  • 取消回复