欢迎访问宙启技术站
智能推送

使用glob模块在Python中按文件大小过滤文件

发布时间:2023-12-15 13:14:39

在Python中,可以使用glob模块结合os模块来按文件大小过滤文件。下面是一个示例:

import glob
import os

def filter_files_by_size(directory, min_size, max_size):
    files = glob.glob(directory + '/*')
    filtered_files = []
    for file in files:
        if os.path.isfile(file):  # 确认是文件
            file_size = os.path.getsize(file)
            if file_size >= min_size and file_size <= max_size:
                filtered_files.append(file)
    return filtered_files

directory = '/path/to/directory'  # 指定目录
min_size = 1000000  # 最小文件大小, 单位为字节
max_size = 5000000  # 最大文件大小, 单位为字节

filtered_files = filter_files_by_size(directory, min_size, max_size)
print('Filtered files:')
for file in filtered_files:
    print(file)

在上面的示例中,filter_files_by_size函数接收一个目录路径、最小文件大小和最大文件大小作为参数。然后,使用glob.glob函数获取指定目录下的所有文件。接下来,遍历每个文件,使用os.path.isfile函数确保处理的是文件而不是目录。使用os.path.getsize函数获取文件大小,并与最小大小和最大大小进行比较。最后,将满足条件的文件添加到filtered_files列表中。函数返回满足条件的文件列表。

在示例中,您需要将directory变量设置为要过滤文件的目录路径,并根据需要设置min_sizemax_size变量的值。运行示例后,将打印出满足条件的文件列表。