为了账号安全,请及时绑定邮箱和手机立即绑定

求教Python的reverse()方法在文件名处理上的作用

求教Python的reverse()方法在文件名处理上的作用

慕粉1466855794 2017-05-31 09:55:21
    indir=r“C:\Users\Desktop\**"    files = os.listdir(indir)    files.sort()        files.reverse()    reverse是反转的意思,而这里面的reverse的作用是什么,意义何在???
查看完整描述

3 回答

已采纳
?
清波

TA贡献165条经验 获得超90个赞

import os

indir=r"C:\Users\xxx\Desktop"
files = os.listdir(indir)
files.sort()    
files.reverse()
print(files)

这个问题(或者说大多数 python入门问题)的解题思路是:

  1. 读代码

  • 第3行 用标识符 r 声明了 元是字符串,避免对每个反斜杠的转义,看着就像是文件路径

  • 第4行 调用了 os模块的 listdir 方法,从方法名看来貌似是 “列出 路径”,接着往下读

  • 第5行 第6行, 连续对 files 调用了两个 list(列表)方法,可见 第四行的方法返回的应该是一个列表

解疑惑,在IDLE 中 分别 输入 help(os.listdir), help(list.sort), help(list.reverse) 得到如下结果:

  • help(os.listdir), 中关键的就是 对其返回值的介绍(Return a list containing the names of the files in the directory.)和 返回列表的无序(The list is in arbitrary order.)

  • help(list.sort), 关键信息是 “就地排序”(stable sort *IN PLACE*)

  • help(list.reverse), 同上 “就地反转”(reverse *IN PLACE*)

至此, 问题就解决了, 通体思路 就是: 定义路径,列出路径下文件及目录, 对结果列表进行排序,对排序结果进行反转。 


好了,授人以渔 的方案就是以上啦, 虽然我更乐意他人  授我以渔夫加厨师。。

查看完整回答
反对 回复 2017-06-02
?
孤独的小猪

TA贡献232条经验 获得超302个赞

这里面的reverse是对files这个列表排序反转过来,也就是倒叙排列,因为files是个列表,里面的元素最开始是无序的,先用sort排序,然后用reverse反转进行倒叙。

查看完整回答
1 反对 回复 2017-06-01
  • 3 回答
  • 0 关注
  • 2260 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信