python内置方法删除目录(空目录与非空目录)及文件

1、os.remove(file_path):删除文件

#PPTV是文件夹,xen.txt是文件
>>> os.remove('PPTV')
Traceback (most recent call last):
File "<pyshell#9>", line 1, in <module>
os.remove('PPTV')
PermissionError: [WinError 5] 拒绝访问。: 'PPTV'
>>> os.remove('xen.txt')
>>> os.unlink('xen.txt')

注:

file_path如果是目录则抛出异常

remove() 同 unlink() 的功能是一样的

2、os.removedirs(path):递归删除目录

目录必须为空目录,若目录被删除,removedirs则会继续删除父目录;子目录未删除成功则报错

例子:

os.removedirs(“foo/bar/ba”) 将首先删除 “foo/bar/ba”目录,如果foo/bar是空,则会继续删除foo/bar,foo若为空则会继续删除foo

如果子目录不能成功删除,将 抛出异常

3、os.rmdir(path):删除目录

删除目录 path,要求path必须是个空目录,否则抛出OSError错误

4、递归删除目录和文件

1、通过shutil.rmtree(path)删除:

>>> print(subprocess.getoutput('tree pytest'))
卷 工作 的文件夹 PATH 列表
卷序列号为 00000002 2C55:35CD
E:\CHENGD_FTP_CLIENT\MODULE\PYTEST
├─.idea
└─test_dirs
>>> shutil.rmtree('e:\\chengd_ftp_client\\module\\pytest')
>>> print(subprocess.getoutput('tree pytest'))
卷 工作 的文件夹 PATH 列表
卷序列号为 00000002 2C55:35CD
E:\CHENGD_FTP_CLIENT\MODULE\PYTEST
无效的路径 - \CHENGD_FTP_CLIENT\MODULE\PYTEST
没有子文件夹

2、通过os.walk方法删除:

#!/usr/bin/env python3
# -*- coding: utf-8 -*- import os
import subprocess obj_dir = 'E:\chengd_ftp_client\module\rmtest' for root, dirs, files in os.walk(obj_dir, topdown=False):
for name in files:
print(name)
os.remove(os.path.join(root, name))
for name in dirs:
print(name)
os.rmdir(os.path.join(root, name))

python删除文件与目录的方法的更多相关文章

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

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

  2. Python操作文件和目录

    Python操作文件和目录 读写文件比较简单,有一点特别注意就好了 windows下Python默认打开的文件以gbk解码,而一般我们的文件是utf-8编码的,所以如果文本含有中文,就会出现异常或者乱 ...

  3. 【转】Python之文件与目录操作(os、zipfile、tarfile、shutil)

    [转]Python之文件与目录操作(os.zipfile.tarfile.shutil) Python中可以用于对文件和目录进行操作的内置模块包括: 模块/函数名称 功能描述 open()函数 文件读 ...

  4. 超全!python的文件和目录操作总结

    文件的基本读写 path = r'C:\Users\Brady\Documents\tmp' with open(path + r'\demo.txt', 'r', encoding='utf-8') ...

  5. 【转】VC MFC 如何删除文件,目录,文件夹

    原文网址:http://shijuanfeng.blogbus.com/logs/100675115.html 第一种方法:定义一个文件类对象来操作CFile   TempFile;     Temp ...

  6. 【改造Linux命令之rm - 删除文件或目录-】

    用途说明 rm命令是常用的命令,用来删除文件或目录(remove files or directories).它也是一个危险的命令,使用的时候要特别当心,尤其对于新手,否则整个系统就会毁在这个命令(比 ...

  7. 彻底删除&quot;提示删除文件和目录&quot;时出错的文件或目录

    当删除文件是出现上图时  能够用以下的方法删除文件 策略一:系统大法 第一招  进程帮你搞定 很多时候乱码文件名称里的文件是explorer.exe进程联系在一起的. 假设要删除的话能够这样:首先命令 ...

  8. 【转载】C#递归删除文件夹目录及文件

    在C#文件操作过程中,有时候需要删除相应目录,如果文件夹中含有其他文件夹或者文件,也需要一并进行删除,此时可能就需要使用递归来删除文件夹目录以及文件,递归过程中,如果遍历的对象是文件夹,则删除文件夹, ...

  9. java删除文件及其目录

    1.删除指定文件路径 public @ResponseBody String deleteFiles(HttpServletRequest request) { log.info(this.getCl ...

随机推荐

  1. Python+Selenium笔记(十二):数据驱动测试

    (一)   前言 通过使用数据驱动测试,实现对输入值和预期结果的参数化.(例如:输入数据和预期结果可以直接读取Excel文档的数据) (二)   ddt 使用ddt执行数据驱动测试,ddt库可以将测试 ...

  2. CSS3动画详解(图文教程)

    本文最初发表于博客园,并在GitHub上持续更新前端的系列文章.欢迎在GitHub上关注我,一起入门和进阶前端. 以下是正文. 前言 本文主要内容: 过渡:transition 2D 转换 trans ...

  3. MySQL crash-safe replication(1)

    MySQL 5.6 对复制功能提供了新特性:slave 支持 crash-safe,可以解决之前版本中系统异常断电可能导致的 SQL thread 信息不准确的问题. 原文:Enabling cras ...

  4. 转:双向链表dblinklist

    数据结构C#版笔记--双向链表(DbLinkList)   这是数据结构C#版笔记--线性表(Data Structure)之单链表(LinkList)的继续,对于双向链接,节点上除了Next属性外, ...

  5. yum/dnf/rpm 等 查看rpm 包安装路径 (fedora 中 pygtk 包内容安装到哪里了)

    有时候我们 使用 包管理工具,安装很方便,但我们还要能知道它们安装了什么文件,都把这些文件安装到哪里了? 我们以探究 pygtk 为例 在 fedora 28 之中 查找 pygtk: ➜ ~ rpm ...

  6. sshpass 绕过ssh 密码交互式验证

    经常我们使用脚本登入服务器的时候,如果使用ssh 命令,经常会提示密码输入,我们不得不手动输入密码,因为ssh 没有 密码的选项. 为了能绕过交互式验证,我们使用sshpass命令解决这个问题: 1. ...

  7. 【12】python 栈型数据结构模拟、队列型数据结构模拟

    一.压栈操作模拟 #__author:"吉*佳" #date: 2018/10/21 0021 #function:栈 # 栈:即是先进后出的一种数据结构 # (1)模拟压栈操作 ...

  8. LINE学习

    LINE Abstract LINE 是一种将大规模网络结点表征成低维向量的算法,可很方便用于网络可视化,结点分类,链路预测,推荐. source code Advantage LINE相比于其他算法 ...

  9. Python3 下找不到urllib2的问题

    Python 3.* 用urllib.request来代替原来的urllib2,因此调用的时候改为: >>> import urllib.request >>> u ...

  10. python第三十四课——1.匿名函数的定义和使用

    演示匿名函数的定义和使用 # 定义无参有返回值的有名函数: def func(): return True # 定义无参有返回值的匿名函数 f=lambda : True # 调用有名函数执行 pri ...