ext_List = [ .bb,.cc,.dd,aa ]
我能想到的唯一方法就是浏览每一个文件
并在每次遇到特定扩展时将它们放在列表中.
for subdir,dirs,files in os.walk(directory): if file.endswith( '.bb') --> append file then go to the end of the directory then loop again if file.endswith( '.cc') -->append file and so on...return sorted_extension_List
然后最后
for file in sorted_extension_List : print file解决方法 您可以将sorted()与自定义键一起使用:
import osmy_custom_keymap = {".aa":2,".bb":3,".cc":0,".dd":1}def mycompare(f): return my_custom_keymap[os.path.splitext(f)[1]]files = ["alfred.bb","butters.dd","charlIE.cc","derkins.aa"]print(sorted(files,key=mycompare))
以上使用mycompare函数作为自定义键比较.在这种情况下,它会提取扩展名,并在my_custom_keymap字典中查找扩展名.
一种非常类似的方式(但更接近您的示例)可以使用列表作为地图:
import osmy_custom_keymap = [".cc",".dd",".aa",".bb"]def mycompare(f): return my_custom_keymap.index(os.path.splitext(f)[1])files = ["alfred.bb",key=mycompare))总结
以上是内存溢出为你收集整理的python – 如何根据我提供的特定订单进行排序全部内容,希望文章能够帮你解决python – 如何根据我提供的特定订单进行排序所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)