我正在使用shutil.rmtree
删除一个目录,但其他进程(我不控制)在该树中创建文件无法创建文件,因为这些目录不存在。是否有如shutil.rmtree
那样简单的操作,只删除文件但保留目录结构?shutil.rmtree只能删除文件吗?
3
A
回答
3
我不认为有一个内置的功能,要做到这一点,但它自己使用os.walk()
你可以很容易做到:
for dirpath, dirnames, filenames in os.walk(my_directory):
# Remove regular files, ignore directories
for filename in filenames:
os.unlink(os.path.join(dirpath, filename))
0
0
怎么是这样的:
import os
def rm_files_in_tree(dir):
for root, dirs, files in os.walk(dir):
for file in files:
path = os.path.abspath(os.path.join(root, file))
os.remove(path)
相关问题
- 1. shutil.rmtree删除只读文件
- 2. python shutil.rmtree - 如何删除/设置超时?
- 3. 文件被删除后,fread可能吗?
- 4. 文件夹删除错误shutil.rmtree,另一个进程正在使用的文件
- 5. 批处理文件只能删除文件夹
- 6. 文件正在删除吗?
- 7. 删除脚本只删除文件不是文件夹
- 8. 删除,项目不能删除文件
- 9. BAT文件能够删除一些文件,但不能删除其他文件
- 10. 不能删除HSQLDB文件
- 11. H2(文件)删除性能
- 12. WPF不能删除文件
- 13. PHP - 不能删除文件
- 14. 可以Fs-Extra只删除目录中的文件吗?
- 15. 只能在特定标题后才能删除内容吗?
- 16. 如何删除只读文件?
- 17. 我可以只删除mysql localhost.log文件
- 18. 只删除txt文件中的LF
- 19. htaccess删除index.php只有根文件夹
- 20. 只从文件的行删除模式
- 21. C只需删除部分文件
- 22. 只有当文件存在时才能找到并删除
- 23. 使一个文件在mac中只能由root删除
- 24. Python shutil.rmtree:无法删除git目录在win7
- 25. 删除文件,只有当所有的可删除 - 饶无辜
- 26. 从contentResolver删除文件只删除数据库中的条目(不是文件)
- 27. 文件#删除不删除文件
- 28. Can Capistrano只能移动新文件吗?
- 29. 只能访问特定文件吗?
- 30. Git删除了我的文件。他们能恢复吗?
我想你需要'os.path.join(my_directory,dirpath,文件名)',不是吗? – zwol
不符合[os.walk](文档)。相关片段_要获取完整路径(从顶部开始)到dirpath中的文件或目录,请执行os.path.join(dirpath,name)._ – alejandro