c语言编程笔录

首页 >   > 笔记大全

笔记大全

python怎么删除文件夹中具有相同后缀类型文件

更新时间:2023-06-24

问题前言:

在Python中,我们可以使用os模块来处理文件和文件夹的操作。对于删除文件夹中具有相同后缀类型的文件,我们可以使用递归的方式来遍历文件夹,并判断文件后缀类型,然后删除符合条件的文件。

1. 获取文件夹中所有文件:

首先,我们需要通过os.listdir()函数来获取文件夹中的所有文件和文件夹的列表。这个函数接受文件夹路径作为参数,返回一个包含所有文件和文件夹名称的列表。

import os

def get_files_in_folder(folder_path):
    files = []
    for file_name in os.listdir(folder_path):
        file_path = os.path.join(folder_path, file_name)
        if os.path.isfile(file_path):
            files.append(file_path)
    return files

2. 筛选符合条件的文件:

接下来,我们需要编写一个函数来筛选出具有相同后缀类型的文件。可以使用os.path模块的splitext()函数来获取文件的后缀,然后进行比较。

import os

def filter_files_by_extension(files, extension):
    filtered_files = []
    for file_path in files:
        file_extension = os.path.splitext(file_path)[1][1:]
        if file_extension == extension:
            filtered_files.append(file_path)
    return filtered_files

3. 删除筛选出的文件:

一旦我们获取到了符合条件的文件列表,我们可以使用os.remove()函数来删除这些文件。

import os

def delete_files(files):
    for file_path in files:
        os.remove(file_path)

4. 完整代码示例:

import os

def get_files_in_folder(folder_path):
    files = []
    for file_name in os.listdir(folder_path):
        file_path = os.path.join(folder_path, file_name)
        if os.path.isfile(file_path):
            files.append(file_path)
    return files

def filter_files_by_extension(files, extension):
    filtered_files = []
    for file_path in files:
        file_extension = os.path.splitext(file_path)[1][1:]
        if file_extension == extension:
            filtered_files.append(file_path)
    return filtered_files

def delete_files(files):
    for file_path in files:
        os.remove(file_path)

# 调用上述函数删除文件夹中后缀为'.txt'的文件
folder_path = '/path/to/folder'
files = get_files_in_folder(folder_path)
filtered_files = filter_files_by_extension(files, 'txt')
delete_files(filtered_files)

以上就是使用Python删除文件夹中具有相同后缀类型文件的方法。通过以上的代码,我们可以实现对文件夹内指定后缀类型文件的删除操作。