首页 > 编程知识 正文

Python遍历文件和文件夹

时间:2023-11-22 03:15:06 阅读:294327 作者:IPOG

本文将介绍如何使用Python编程语言遍历文件和文件夹。首先我们来回答下标题的问题:Python遍历文件和文件夹可以使用os模块和os.path模块来实现。

一、使用os模块遍历文件和文件夹

1、使用os.listdir()函数获取指定目录下的所有文件和文件夹。

import os

def get_all_files_and_folders(directory):
    files_and_folders = os.listdir(directory)
    return files_and_folders

# 示例
directory = '/path/to/directory'
all_files_and_folders = get_all_files_and_folders(directory)
print(all_files_and_folders)

2、使用os.path模块的isfile()和isdir()函数分别判断给定路径是否为文件或文件夹。

import os

def get_files_and_folders(directory):
    files = []
    folders = []
    for file_or_folder in os.listdir(directory):
        path = os.path.join(directory, file_or_folder)
        if os.path.isfile(path):
            files.append(file_or_folder)
        elif os.path.isdir(path):
            folders.append(file_or_folder)
    return files, folders

# 示例
directory = '/path/to/directory'
files, folders = get_files_and_folders(directory)
print("Files:", files)
print("Folders:", folders)

二、递归遍历文件和文件夹

1、使用递归函数实现深度优先搜索遍历。

import os

def recursive_traversal(directory):
    for file_or_folder in os.listdir(directory):
        path = os.path.join(directory, file_or_folder)
        if os.path.isfile(path):
            print("File:", file_or_folder)
        elif os.path.isdir(path):
            print("Folder:", file_or_folder)
            recursive_traversal(path)

# 示例
directory = '/path/to/directory'
recursive_traversal(directory)

2、使用os.walk()函数实现广度优先搜索遍历。

import os

def breadth_first_traversal(directory):
    for root, dirs, files in os.walk(directory):
        for file in files:
            print("File:", os.path.join(root, file))
        for dir in dirs:
            print("Folder:", os.path.join(root, dir))

# 示例
directory = '/path/to/directory'
breadth_first_traversal(directory)

三、进一步处理文件和文件夹

1、根据文件扩展名筛选文件。

import os

def filter_files_by_extension(directory, extension):
    files = []
    for file in os.listdir(directory):
        if file.endswith(extension):
            files.append(file)
    return files

# 示例
directory = '/path/to/directory'
extension = '.txt'
filtered_files = filter_files_by_extension(directory, extension)
print(filtered_files)

2、获取文件大小。

import os

def get_file_size(file_path):
    size = os.path.getsize(file_path)
    return size

# 示例
file_path = '/path/to/file'
file_size = get_file_size(file_path)
print(file_size)

四、总结

本文介绍了使用Python遍历文件和文件夹的方法,包括使用os模块和os.path模块遍历、递归遍历和进一步处理文件和文件夹的方法。通过这些方法,我们可以方便地对文件和文件夹进行操作和管理。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。