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删除文件夹中具有相同后缀类型文件的方法。通过以上的代码,我们可以实现对文件夹内指定后缀类型文件的删除操作。