使用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_size和max_size变量的值。运行示例后,将打印出满足条件的文件列表。
