您的位置:

Python Walk Top:让你的文件遍历变得轻松

随着计算机存储能力的不断提高和文件数量的增加,文件管理变得越来越重要。在处理大量文件时,文件遍历变成了一件非常繁琐的事情,这时候Python Walk Top就派上用场了。

Python Walk Top是一个Python模块,它可以帮你快速遍历指定文件夹下全部的文件,同时可以根据指定的条件,从中筛选出特定的文件。它支持的功能非常分散,让你快速、轻松实现你的文件遍历需求。

一、快速遍历文件夹下全部文件

import os

def walk_all_files(dirname):
    files = []
    for root, dirs, file_names in os.walk(dirname):
        for filename in file_names:
            files.append(os.path.join(root,filename))
    return files

files = walk_all_files("/Users/username/Documents")
print(files)

这段代码可以遍历指定文件夹下全部文件,并返回一个由文件路径组成的列表。

二、根据文件名关键词筛选文件

import os

def walk_files_with_keyword(dirname, keyword):
    files = []
    for root, dirs, file_names in os.walk(dirname):
        for filename in file_names:
            if keyword in filename:
                files.append(os.path.join(root,filename))
    return files

files = walk_files_with_keyword("/Users/username/Documents", "report")
print(files)

这段代码可以遍历指定文件夹下所有文件,找出文件名包含关键词的文件,返回一个由符合条件的文件路径组成的列表。

三、根据文件类型筛选文件

import os

def walk_files_with_extname(dirname, ext_name):
    files = []
    for root, dirs, file_names in os.walk(dirname):
        for filename in file_names:
            if filename.endswith(ext_name):
                files.append(os.path.join(root,filename))
    return files

files = walk_files_with_extname("/Users/username/Documents", ".pdf")
print(files)

这段代码可以遍历指定文件夹下所有文件,找出文件类型符合条件的文件,返回一个由符合条件的文件路径组成的列表。

四、根据文件大小筛选文件

import os

def walk_files_with_size(dirname, min_size, max_size):
    files = []
    for root, dirs, file_names in os.walk(dirname):
        for filename in file_names:
            file_path = os.path.join(root,filename)
            file_size = os.path.getsize(file_path) // 1024 // 1024 # 转换为MB单位
            if file_size >= min_size and file_size <= max_size:
                files.append(file_path)
    return files

files = walk_files_with_size("/Users/username/Documents", 10, 20)
print(files)

这段代码可以遍历指定文件夹下所有文件,找出文件大小符合条件的文件,返回一个由符合条件的文件路径组成的列表。这里的文件大小以MB为单位。

五、根据创建时间筛选文件

import os
import time

def walk_files_with_ctime(dirname, start_time, end_time):
    files = []
    for root, dirs, file_names in os.walk(dirname):
        for filename in file_names:
            file_path = os.path.join(root,filename)
            file_ctime = os.path.getctime(file_path)
            if file_ctime >= start_time and file_ctime <= end_time:
                files.append(file_path)
    return files

start_time = time.mktime(time.strptime("2022-01-01 00:00:00", "%Y-%m-%d %H:%M:%S"))
end_time = time.time() # 表示当前时间
files = walk_files_with_ctime("/Users/username/Documents", start_time, end_time)
print(files)

这段代码可以遍历指定文件夹下所有文件,找出文件创建时间符合条件的文件,返回一个由符合条件的文件路径组成的列表。这里的起始时间和结束时间需使用time模块进行转换。

六、总结

通过Python Walk Top,我们可以快速遍历指定文件夹下全部文件,并筛选出我们需要的特定文件。不同的筛选条件可以满足不同的需求,让文件遍历变得简单易行。