我有一个根文件夹,下面有两个文件夹,现在我想根据文件夹名称对根文件夹下的所有文件进行排序,而不管子文件夹名称如何。
下面是我尝试的代码,但问题是根据文件所在的子文件夹的名称进行排序:
.../verify/AU1/APPLaunch_ftrace_au1.txt,
.../verify/AU1/Mp3BT_ftrace_au1.txt,
.../verify/AU2/APPLaunch_ftrace_au2.txt,
.../verify/AU2/Mp3BT_ftrace_au2.txt
files_list = []
for root, dirs, files in os.walk(trace_folder, topdown = False):
files_list.extend(join(root,f) for f in files)
files_list.sort()
我想要的是:
.../verify/AU1/APPLaunch_ftrace_au1.txt,
.../verify/AU2/APPLaunch_ftrace_au2.txt,
.../verify/AU1/Mp3BT_ftrace_au1.txt,
.../verify/AU2/Mp3BT_ftrace_au2.txt
答案 0 :(得分:1)
只需向sort
添加排序条件,该条件仅考虑文件的基本名称
files_list.sort(key=os.path.basename)
如果你不关心套管,那也是可行的:
files_list.sort(key=lambda x : os.path.basename(x).lower())