Ordered os.listdir() in python
本问题已经有最佳答案,请猛点这里访问。
如何按顺序将文件添加到列表中
在我的目录中,我有以下文件:
我试过这个方法
1 | files_list = [x for x in sorted(os.listdir(path+"/slides/")) if os.path.isfile(path+"/slides/"+x)] |
输出:
按关键字排序:
1 2 3 | import re files = ['slide1.xml', 'slide10.xml', 'slide11.xml', 'slide12.xml', 'slide13.xml', 'slide2.xml', 'slide3.xml', 'slide3_COPY.xml', 'slide4.xml', 'slide5.xml', 'slide6.xml', 'slide7.xml', 'slide8.xml', 'slide9.xml'] ordered_files = sorted(files, key=lambda x: (int(re.sub('\D','',x)),x)) |
给
您可能需要使用自己的排序函数
1 2 3 4 5 | def custom_sort(x, y): pass #your custom sort files_list = [x for x in sorted(os.listdir(path+"/slides/"), cmp=custom_sort) if os.path.isfile(path+"/slides/"+x)] |
doc
同时检查natsort