os.remove()和os.rmdir()比shutil.rmtree()更好吗?(涉及IT技术)

4
什么更安全和更快- 首先使用 os.remove() 删除整个目录,然后使用 os.rmdir() 来删除空目录 - 还是直接使用 shutil.rmtree() 一步完成所有操作?(抱歉,我是 Python 新手)

可能会有问题,请查看:https://stackoverflow.com/questions/47662422/are-either-of-os-rmdir-or-shutil-rmtree-guaranteed-or-supposed-to-be-synchronous#47662642 - asylumax
1个回答

8

os.remove()函数在文件不存在时会引发异常,而shutil.rmtree()无论目录是否为空都不会造成影响。因此,使用后者一步到位比起前者再加上os.rmdir()更为简便(使用前者需要一个try-except块或者os.path.isfile()来确保文件存在)。


这其实不是主要问题。os.remove方法在目录上根本就不起作用。shutil.rmtree才是正确的工具,OP提出的第一种方法根本就行不通。 - spectras
我相信原帖的意思是计划使用os.remove()来删除目录中的文件,然后再使用os.rmdir()来删除空目录,这个方法完全可行。 - PApostol

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接