需求:给出一个文件路径,查找出该路径下的所有文件。
方法:通过编写函数递归,实现此功能。先判断给出的路径是否为文件,如果是直接结束,–基例;
如果是目录。查找出目录里边的文件和目录,直到找出所有文件为止 --链条;
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import os
file_list = list() #将查找出的文件存放在列表中
def find_file(file_path):
if os.path.isfile( file_path):#判断是否为文件,此为基例,递归终止点
file_list.append(file_path)
else: #如果是目录,执行下边的程序
for file_ls in os.listdir( file_path):#循环目录中的文件
find_file(os.path.join( file_path,file_ls))#再次判断目录中的文件,实现递归,函数调用函数本身
return file_list #退出最终的文件列表
print(find_file("e:/untitled")) #查找 e:/untitled 下边的文件
结果如下:
举一反三:
既然找到了目录中的所有文件,即可实现将文件合并、查找文件中的词语、文件行数、文件最后修改日期、筛选某一类型(xls,doc,csv,unl,sh,pl,…)文件等等。
如有不妥,请多多评论指教!!!