题目:
在变量名serach_dir中,随意添加一个文件路径,找出所有文件下最大的文件。
思路:
1、输入文件路径。
2、递归遍历该文件路径下所有子目录。
3、遍历子目录下所有文件的绝对路径,并逐一添加且计算大小。
4、从大到小排序,输出前十个文件。
结果:
import os
search_dir = "/python_crawler"
result_files = []
# 递归遍历所有子目录
for root,dirs,files in os.walk(search_dir): # os.walk传入路径名进行递归
# root代表当前目录,dirs代表当前目录下的子目录,files代表当前目录下普通文件
for file in files:
file_path = f"{root}/{file}" # (整个路经)绝对路径=root/file
if file.endswith(".txt"): # 判断是不是以.txt为结尾的文件
result_files.append((file_path,
os.path.getsize(file_path)/1000))
print(
sorted(result_files,key=lambda x:x[1],reverse=True)[:10]
)
知识点:
1、os.walk传入路径名进行递归。
2、root、dirs、files的含义。
- root代表当前目录。
- dirs代表当前目录下的子目录。
- files代表当前目录下普通文件。
3、file.endswith(".txt") 输出以.txt为结尾的文件。
标签:files,25,找出,递归,文件,os,当前目录,file,root From: https://www.cnblogs.com/LoLong/p/16879003.html