在使用glob.glob获取文件名列表后,需要对列表重新排序,但是不规范的命名会让排序变得困难,这里提供一个简单的方法实现文件的重命名和排序。
在使用sorted对list进行排序时,我们期望得到按照‘1,2,3,4,5…,10’这样的顺序排列,但是可能会得到‘1,10,100,2,3,4…‘,因此在后续分析中就会存在一些问题。
例如,glob.glob获得了list(未全部列出)
在用sorted排序后得到
显然我想把10,11,12三个文件排在后面,因此
def str_transform(files):
for i in range(len(files)):
try:
string = int(files[i][11:13])
except:
files[i] = files[i][:11]+'0'+files[i][11:]
return sorted(files)
这样就结束了上述问题