python os listdir_python的os.listdir()的使用疑惑

数据是按字母排序的,如果你要实现13_left.jpg, 14_left.jpg.....13_right.jpg, 14_right.jpg这样的顺序,就得写个排序方法做排序。import os

def compare(x, y):

xparts = x.split('_')

yparts = y.split('_')

if len(xparts) > 1 and len(yparts) > 1:

if xparts[1] == yparts[1]:

try:

return cmp(int(xparts[0]),int(yparts[0]))

except:

pass

return cmp(xparts[0], yparts[0])

else:

return cmp(xparts[1], yparts[1])

else:

return cmp(x, y)

items = os.listdir('./tmp')

print items

items.sort(compare)

print items

输出:

['10_right.jpg', '11_right.jpg', '1_left.jpg', '1_right.jpg', '20_left.jpg', '2_left.jpg', '2_right.jpg']

['1_left.jpg', '2_left.jpg', '20_left.jpg', '1_right.jpg', '2_right.jpg', '10_right.jpg', '11_right.jpg']

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值