3 回答
TA贡献165条经验 获得超90个赞
import os indir=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*)
至此, 问题就解决了, 通体思路 就是: 定义路径,列出路径下文件及目录, 对结果列表进行排序,对排序结果进行反转。
好了,授人以渔 的方案就是以上啦, 虽然我更乐意他人 授我以渔夫加厨师。。
TA贡献232条经验 获得超302个赞
这里面的reverse是对files这个列表排序反转过来,也就是倒叙排列,因为files是个列表,里面的元素最开始是无序的,先用sort排序,然后用reverse反转进行倒叙。
添加回答
举报