今天我们来学习如何在一个目录下寻找最大文件,同样我们需要先引入os模块在上篇文章中我们已经了解了os模块的部分用法,今天我们来加深下对这个模块的认识。
首先,我们可以选定一个需要查找的目录,然后搜索目录下的文件,我么可以使用os.walk对目录下的文件和目录进行遍历,代码如下:
for root,dirs,files in os.walk(search_dir):
for file in files:
file_path=f"{root}/{file}"
然后,我们可以定义一个列表用于储存文件名称,便于后面寻找最大文件,我们可以把文件路径和文件大小作为一个元组存放到列表中,代码如下:
result_files.append((file_path,
os.path.getsize(file_path)/1000))
最后我们用之前学到的sorted()函数对文件进行排序并取出最大的十个文件,代码如下:
sorted(result_files,
key=lambda x : x[1],
reverse=True)[10]
完整代码如下:
import os
search_dir="D:/__easyHelper__"
result_files=[]
for root,dirs,files in os.walk(search_dir):
for file in files:
file_path=f"{root}/{file}"
result_files.append((file_path,
os.path.getsize(file_path)/1000))
print(sorted(result_files,
key=lambda x : x[1],
reverse=True)[10]
)