文件名排序

有一系列SEP events需要按日期排序,文件名格式如下:
SEP_date=[‘2000_11_24’, ‘2000_7_14’, ‘2001_10_1’, ‘2000_11_26’, ‘1998_9_30’, ‘2004_7_25’,
‘2005_9_7’, ‘2002_11_9’, ‘1997_11_6’, ‘2006_12_6’, ‘2005_1_20’, ‘2003_10_26’, ‘2001_1_28’,
‘2005_6_17’, ‘2001_4_18’, ‘2004_11_8’, ‘1998_11_14’, ‘2002_5_22’, ‘1997_11_4’, ‘2006_12_13’,
‘2001_11_22’, ‘2001_4_2’, ‘2004_11_10’, ‘2001_11_4’, ‘2000_11_8’, ‘2001_4_12’, ‘1998_4_20’,
‘2005_1_17’, ‘2004_11_1’, ‘2001_4_10’, ‘2005_1_16’, ‘2003_10_28’, ‘2005_8_22’, ‘2001_4_15’, ‘2003_10_29’,
‘2002_7_15’, ‘2004_11_7’, ‘2002_9_5’, ‘1998_8_24’, ‘2001_8_16’, ‘2005_5_13’, ‘2002_8_22’, ‘2003_11_4’,
‘2005_9_13’, ‘2004_9_12’, ‘2001_9_24’, ‘1998_5_2’, ‘2002_4_21’, ‘2005_7_14’, ‘2002_8_24’, ‘2001_12_31’,
‘2003_11_2’, ‘1998_5_6’, ‘2001_12_26’]

sort()函数不管用,只会按年份排序,月日依然是乱序
查到了这篇文章

使用Python对文件名进行排序

思路是用**.split()**函数把名字拆成三个字符串,再转int,就好排序了。

for i in range(len(SEP_date)):
    SEP_date[i] = SEP_date[i].split('_')
    SEP_date[i][0] = int(SEP_date[i][0])
    SEP_date[i][1] = int(SEP_date[i][1])
    SEP_date[i][2] = int(SEP_date[i][2])

SEP_date.sort()

for i in range(len(SEP_date)):
    SEP_date[i][0] = str(SEP_date[i][0])
    SEP_date[i][1] = str(SEP_date[i][1])
    SEP_date[i][2] = str(SEP_date[i][2])
    SEP_date[i] = SEP_date[i][0] + '_' + SEP_date[i][1]+ '_' + SEP_date[i][2]

额这该投转载还是原创啊

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值