python实现删除文件与目录的方法

yipeiwu_com6年前Python基础

本文实例讲述了python实现删除文件与目录的方法。分享给大家供大家参考。具体实现方法如下:

os.remove(path)
删除文件 path. 如果path是一个目录, 抛出 OSError错误。如果要删除目录,请使用rmdir().

remove() 同 unlink() 的功能是一样的
在Windows系统中,删除一个正在使用的文件,将抛出异常。在Unix中,目录表中的记录被删除,但文件的存储还在。

os.removedirs(path)
递归地删除目录。类似于rmdir(), 如果子目录被成功删除, removedirs() 将会删除父目录;但子目录没有成功删除,将抛出错误。

举个例子, os.removedirs(“foo/bar/baz”) 将首先删除 “foo/bar/ba”目录,然后再删除foo/bar 和 foo, 如果他们是空的话
如果子目录不能成功删除,将 抛出 OSError异常

os.rmdir(path)
删除目录 path,要求path必须是个空目录,否则抛出OSError错误
 
递归删除目录和文件(类似DOS命令DeleteTree):

复制代码 代码如下:
import os
for root, dirs, files in os.walk(top, topdown=False):
    for name in files:
        os.remove(os.path.join(root, name))
    for name in dirs:
        os.rmdir(os.path.join(root, name))

方法2:

复制代码 代码如下:
import shutil
shutil.rmtree()

一行搞定:
复制代码 代码如下:
__import__('shutil').rmtree()

希望本文所述对大家的Python程序设计有所帮助。

相关文章

对pandas中to_dict的用法详解

简介:pandas 中的to_dict 可以对DataFrame类型的数据进行转换 可以选择六种的转换类型,分别对应于参数 ‘dict', ‘list', ‘series', ‘spli...

python实现多进程代码示例

想要充分利用多核CPU资源,Python中大部分情况下都需要使用多进程,Python中提供了multiprocessing这个包实现多进程。multiprocessing支持子进程、进程...

如何用C代码给Python写扩展库(Cython)

如何用C代码给Python写扩展库(Cython)

之前一篇文章里提到了利用Cython来编译Python,这次来讲一下如何用Cython给Python写扩展库。 两种语言混合编程,其中最重要的是类型的传递。 我们用一个简单的例子进行入门...

跟老齐学Python之赋值,简单也不简单

变量命名 在《初识永远强大的函数》一文中,有一节专门讨论“取名字的学问”,就是有关变量名称的问题,本温故而知新的原则,这里要复习: 名称格式:(下划线或者字母)+(任意数目的字母,数字或...

python深度优先搜索和广度优先搜索

python深度优先搜索和广度优先搜索

1. 深度优先搜索介绍 图的深度优先搜索(Depth First Search),和树的先序遍历比较类似。 它的思想:假设初始状态是图中所有顶点均未被访问,则从某个顶点v出发,首先访问...