python - PathLib递归删除目录?
问题描述
有什么方法可以删除 PathLib 模块中的目录及其内容?path.unlink()
它只删除一个文件,目录path.rmdir()
必须为空。有没有办法在一个函数调用中做到这一点?
解决方案
如您所知,删除文件/目录的唯一两种Path
方法是您想要的.unlink()
,.rmdir()
也不是您想要的。
Pathlib 是一个提供跨不同操作系统的面向对象路径的模块,它并不意味着有很多不同的方法。
这个库的目的是提供一个简单的类层次结构来处理文件系统路径和用户对其进行的常见操作。
“不常见”的文件系统更改,例如递归删除目录,存储在不同的模块中。如果要递归删除目录,则应使用该shutil
模块。(它也适用于Path
实例!)
import shutil
import pathlib
import os # for checking results
print(os.listdir())
# ["a_directory", "foo.py", ...]
path = pathlib.Path("a_directory")
shutil.rmtree(path)
print(os.listdir())
# ["foo.py", ...]
推荐阅读
- reactjs - 在回调中使用它
- c++ - 第一个 cout 语句末尾的空格显示在第二个 cout 的开头
- php - RuntimeException:尚未设置外观根
- php - Symfony - 基于父节点获取子节点计数的索引
- d3.js - 多项式 d3 回归加载数据集
- django - Django 不提供图像,因为 Debug 设置为 True - 我怎样才能让 nginx 提供这些图像?
- c++ - 在 Visual Studio 中使用多个文件时如何阻止类被重新定义
- swift - 在 NSArrayController 中观察 selectedObjects 总是返回
- android - 无法更改启动活动
- android - “无法解析符号”(设计 + v7 + 注释)