Python os模块实现彻底清空文件夹与内容的源码

需积分: 1 1 下载量 67 浏览量 更新于2024-08-03 收藏 764B TXT 举报
在Python编程中,有时候我们需要对文件夹及其内容进行清空操作,这与简单的删除有所不同,因为清空可以确保不会留下任何残留的文件或目录,提供了一种更为彻底的清理方式。这个需求可以通过Python的内置os模块来实现。os模块是操作系统接口的一部分,允许我们执行底层的文件和目录操作。 要实现清空文件夹及内容的功能,我们可以创建一个名为`delete_file_folder`的函数,如所示: ```python import os def delete_file_folder(src): ''' 删除指定路径下的所有文件和子目录 ''' if os.path.isfile(src): # 检查是否是文件 try: os.remove(src) # 使用os.remove删除文件 except Exception as e: print(f"删除文件 {src} 时出错:{e}") elif os.path.isdir(src): # 检查是否是目录 for item in os.listdir(src): # 遍历目录中的所有文件和子目录 item_path = os.path.join(src, item) # 构建子路径 delete_file_folder(item_path) # 递归调用自身处理子目录 try: os.rmdir(src) # 如果目录为空,使用os.rmdir删除目录 except Exception as e: print(f"删除目录 {src} 时出错:{e}") # 示例使用 if __name__ == '__main__': dirname = r'G:\windows' # 替换为你需要清空的文件夹路径 delete_file_folder(dirname) ``` 在这个代码中,首先检查`src`是否为文件,如果是,则尝试使用`os.remove()`删除。如果`src`是目录,函数会遍历目录内容,并对每个子项递归调用自身,确保清空所有子文件和子目录。最后,如果目录已空,将尝试使用`os.rmdir()`删除目录。 请注意,使用此函数时,确保路径正确且有适当的权限,因为删除操作是不可逆的。此外,如果在删除过程中遇到错误(如权限不足或文件正在被其他程序使用),函数会捕获异常并打印错误信息,但不会阻止后续的清理过程。