求教Python的reverse()方法在文件名处理上的作用
|
indir=r“C:\Users\Desktop\**"files = os.listdir(indir) files.sort() files.reverse() reverse是反转的意思,而这里面的reverse的作用是什么,意义何在??? |
免责声明:本内容仅代表回答者见解不代表本站观点,请谨慎对待。
版权声明:作者保留权利,不代表本站立场。
|
|
|
|
|
|
|
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反转进行倒叙。 |
|
|
|
|
|
|
|