如何使用nsmallest()函数在Python中找到最小的n个文件大小
发布时间:2024-01-03 00:15:52
在Python中,可以使用os模块来获取文件大小,然后使用nsmallest()函数从文件大小列表中找到最小的n个文件大小。
下面是一个使用nsmallest()函数找到最小的n个文件大小的例子:
import os
import heapq
def find_smallest_files(folder_path, n):
file_sizes = [] # 用来存储文件大小的列表
# 遍历文件夹中的所有文件
for root, dirs, files in os.walk(folder_path):
for file in files:
file_path = os.path.join(root, file)
file_size = os.path.getsize(file_path)
file_sizes.append(file_size)
smallest_files = heapq.nsmallest(n, file_sizes) # 找到最小的n个文件大小
# 输出最小的n个文件大小
for size in smallest_files:
print(f"File size: {size} bytes")
# 调用示例
folder_path = '/path/to/folder' # 文件夹的路径
n = 5 # 需要找到的最小文件数
find_smallest_files(folder_path, n)
在这个例子中,我们首先定义了一个空的列表file_sizes来存储文件大小。然后,使用os.walk()函数遍历文件夹中的所有文件,并使用os.path.getsize()函数获取每个文件的大小,并将其添加到file_sizes列表中。
接下来,我们使用heapq.nsmallest()函数从file_sizes列表中找到最小的n个文件大小,并将结果存储在smallest_files变量中。
最后,我们使用一个循环来输出最小的n个文件大小。
请注意,你需要将'/path/to/folder'替换为你需要查找文件的文件夹路径,并将5替换为你需要找到的最小文件数。
