Python递归删除文件夹下所有文件和子文件夹
Python递归删除文件夹下所有文件和子文件夹
这篇文章介绍如何使用Python删除文件夹下的所有文件和子文件夹。
使用os模块
Python的os模块提供了与操作系统交互的函数。我们可以使用os.listdir()获取文件夹中所有项目列表,然后使用os.remove()删除文件,使用os.rmdir()删除空文件夹。
以下代码展示如何递归删除文件夹下所有文件和子文件夹:pythonimport os
def delete_files_in_folder(folder_path): ''' 递归删除指定文件夹下的所有文件和子文件夹。
Args: folder_path: 要删除的文件夹路径。 ''' for filename in os.listdir(folder_path): file_path = os.path.join(folder_path, filename) if os.path.isfile(file_path): os.remove(file_path) elif os.path.isdir(file_path): delete_files_in_folder(file_path) os.rmdir(file_path)
用法示例folder_path = '/path/to/folder' # 替换为实际的文件夹路径delete_files_in_folder(folder_path)
代码说明:
-
delete_files_in_folder(folder_path)函数: - 接收一个文件夹路径作为参数。 - 使用os.listdir(folder_path)获取文件夹下所有文件和子文件夹的名称列表。 - 遍历列表,对每个项目: - 使用os.path.join(folder_path, filename)构造完整的文件/文件夹路径。 - 使用os.path.isfile(file_path)判断是文件还是文件夹。 - 如果是文件,使用os.remove(file_path)删除。 - 如果是文件夹,递归调用delete_files_in_folder()删除其内容,然后使用os.rmdir(file_path)删除空文件夹。 -
用法示例: - 将
'/path/to/folder'替换为你要删除的文件夹的实际路径。 - 调用delete_files_in_folder(folder_path)开始删除操作。
注意:
- 删除操作是不可逆的,请谨慎操作!- 确保你有删除目标文件夹及其内容的权限。- 如果只想删除文件夹中的文件而保留子文件夹,请将
os.rmdir(file_path)这一行注释掉。
原文地址: https://www.cveoy.top/t/topic/exRZ 著作权归作者所有。请勿转载和采集!