因为平时用everything很舒服,查找文件是真的很方便,
但是既然用到了Python,就想到可不可以来自己实现一下,
下面的分析是针对一个目录来查找的,当你知道文件大致有什么东西的时候,
比如你要查找 md 结尾的的文件,又大致知道在哪个目录的时候,就可以来自己查找。
下面是我自己临时创建的一个目录 C:\tmp\test
当前的文件结构如下:
这里用到了 os 模块下的walk函数,它会自动递归遍历一个目录下的所有子目录:
输出:
root: C:\tmp\test
dirs: ['cool', 'how']
files: ['1.log', 'result.txt', 'test.md']
------------------------
root: C:\tmp\test\cool
dirs: ['cool_sub']
files: ['cool.md']
------------------------
root: C:\tmp\test\cool\cool_sub
dirs: []
files: ['sub.md']
------------------------
root: C:\tmp\test\how
dirs: []
files: ['how.md']
------------------------
从上面可以看出,root 是每一个目录,
dirs 是 root 这个目录下所有的文件夹,
files 是 root 这个目录下所有的文件
我们这个时候如果想查找 md 结尾的文件,就可以用下面的方法:
输出:
找出的文件如下:
C:\tmp\test\test.md
C:\tmp\test\cool\cool.md
C:\tmp\test\cool\cool_sub\sub.md
C:\tmp\test\how\how.md
这里我们可以加上找出的文件个数,
len是Python内置的函数,可以获取一个列表的长度:
输出:
列表的长度是: 3
最终的代码如下:
输出:
一共找出 4 个文件
找出的文件如下:
C:\tmp\test\test.md
C:\tmp\test\cool\cool.md
C:\tmp\test\cool\cool_sub\sub.md
C:\tmp\test\how\how.md