快捷导航

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

indir=r“C:\Users\Desktop\**"files = os.listdir(indir)  files.sort()    files.reverse()  reverse是反转的意思,而这里面的reverse的作用是什么,意义何在???

免责声明:本内容仅代表回答者见解不代表本站观点,请谨慎对待。

版权声明:作者保留权利,不代表本站立场。

回复

使用道具 举报

参与会员2

importosindir=r"C:\Users\xxx\Desktop"files=os.listdir(indir)files.sort()files.reverse()print(files)这个问题(或者说大多数 python入门问题)的解题思路是:

  • 读代码


  • 第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*)
至此, 问题就解决了, 通体思路 就是: 定义路径,列出路径下文件及目录, 对结果列表进行排序,对排序结果进行反转。


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

使用道具 举报

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

使用道具 举报

可能感兴趣的问答

发新帖
  • 微信访问
  • 手机APP