做百度飞桨的作业二:查找特定名称文件
遍历”Day1-homework”目录下文件;
找到文件名包含“2020”的文件;
将文件名保存到数组result中;
按照序号、文件名分行打印输出。
注意:提交作业时要有代码执行输出结果。
#导入OS模块
import os
#待搜索的目录路径
path = "Day1-homework"
#待搜索的名称
filename = "2020"
#定义保存结果的数组
result = []
def findfiles():
#在这里写下您的查找文件代码吧!
i=0
for root,dirs,files in os.walk(path):
#root 当前正在访问的文件夹路径
#dirs 该文件夹下的子目录名列表
#files 该文件夹下的文件列表
for f in files:
if filename in f:
i+=1
ff=os.path.join(root,f)
print(f'{i},{ff}')
result.append(ff)
if __name__ == '__main__':
findfiles()
os.walk()是一种遍历目录数的函数,它以一种深度优先的策略(depth-first)访问指定的目录。
其返回的是(root,dirs, files),
- root代表当前遍历的目录路径,string类型
- dirs代表root路径下的所有子目录名称,list类型,列表中的每个元素是string类型,代表子目录名称。
- files代表root路径下的所有子文件名称,返回list类型,列表中的每个元素是string类型,代表子文件名称。