python - 如何清空目录而不对其进行迭代?
问题描述
让我们考虑一下我有一个非空文件夹路径:
dir = r'D:\ZIP_Or_Installations';
我想清空这个文件夹,但不迭代其中的内容(因为我在这里寻求性能最佳解决方案)。
我似乎找不到合适的功能。我试过使用shutil.rmtree()
,但使用这个函数必须严格指向一个非空目录,这意味着它将根除我不想要的整个目录。
任何帮助,将不胜感激。感谢您花时间研究这篇文章。
解决方案
对于 Ubuntu
这将删除目录及其内容:
值得一提的警告:使用 -rf 运行很危险。如果路径有错误...可能最终会删除重要文件。
因此,请确保您提供了正确的目录。
import os
path = 'folder/to/clean'
os.system('rm -rf %s/*' % path)
如果要保留文件夹本身,可以添加以在同一目录中再次创建文件夹:
os.mkdir('path/to/folder')
对于 Windows
您可以使用此删除文件夹及其内容(PS D:/test 是一个目录示例):
import os
os.system('rd /s /q "D:/test"')
然后您可以使用以下命令创建目录:
os.mkdir("D:/test")
所以你的代码应该是这样的:
import os
os.system('rd /s /q "D:/test"')
os.mkdir("D:/test")
推荐阅读
- javascript - 在 React 中使用使用效果和使用状态钩子编译 App.Js 代码时遇到问题
- reactjs - 如何使用 React 样式设置全窗口背景图像
- flutter - 什么时候调用flutter中自定义画家类的shouldRepaint方法?
- android - 如何使用 SQLite 保存图像,然后在 RecycleView 中使用它
- powerbi - 不能使用带有比较运算符的文本字符串作为 Filter() 的输入
- sql - 如何在 PostgreSQL 中将行转换为列?
- javascript - 查询数据库并根据搜索参数返回每个位置的“总数”
- r - 将数据从长格式重塑为宽格式
- python - 字典理解不像我想象的那样工作。我究竟做错了什么?
- google-cloud-platform - 使用实时窗口聚合更新数据库