python删除文件、清空目录的实现方法


Posted in Python onSeptember 23, 2020

Python os.remove() 方法

os.remove() 方法用于删除指定路径的文件。如果指定的路径是一个目录,将抛出OSError。

在Unix, Windows中有效

以下实例演示了 remove() 方法的使用:

#!/usr/bin/python
# -*- coding: UTF-8 -*-

import os, sys

# 列出目录
print "目录为: %s" %os.listdir(os.getcwd())

# 移除
os.remove("aa.txt")

# 移除后列出目录
print "移除后 : %s" %os.listdir(os.getcwd())

执行以上程序输出结果为:

目录为:
[ 'a1.txt','aa.txt','resume.doc' ]
移除后 :
[ 'a1.txt','resume.doc' ]

Python os.removedirs() 方法

os.removedirs() 方法用于递归删除目录。像rmdir(), 如果子文件夹成功删除, removedirs()才尝试它们的父文件夹,直到抛出一个error(它基本上被忽略,因为它一般意味着你文件夹不为空)。

以下实例演示了 removedirs() 方法的使用:

#!/usr/bin/python
# -*- coding: UTF-8 -*-

import os, sys

# 列出目录
print "目录为: %s" %os.listdir(os.getcwd())

# 移除
os.removedirs("/test")

# 列出移除后的目录
print "移除后目录为:" %os.listdir(os.getcwd())

执行以上程序输出结果为:

目录为:
[  'a1.txt','resume.doc','a3.py','test' ]
移除后目录为:
[  'a1.txt','resume.doc','a3.py' ]

Python os.rmdir() 方法

os.rmdir() 方法用于删除指定路径的目录。仅当这文件夹是空的才可以, 否则, 抛出OSError。

以下实例演示了 rmdir() 方法的使用:

#!/usr/bin/python
# -*- coding: UTF-8 -*-

import os, sys

# 列出目录
print "目录为: %s"%os.listdir(os.getcwd())

# 删除路径
os.rmdir("mydir")

# 列出重命名后的目录
print "目录为: %s" %os.listdir(os.getcwd())

执行以上程序输出结果为:

目录为:
[  'a1.txt','resume.doc','a3.py','mydir' ]
目录为:
[  'a1.txt','resume.doc','a3.py' ]

Python os.unlink() 方法

os.unlink() 方法用于删除文件,如果文件是一个目录则返回一个错误。

以下实例演示了 unlink() 方法的使用:

#!/usr/bin/python
# -*- coding: UTF-8 -*-

import os, sys

# 列出目录
print "目录为: %s" %os.listdir(os.getcwd())

os.unlink("aa.txt")

# 删除后的目录
print "删除后的目录为 : %s" %os.listdir(os.getcwd())

执行以上程序输出结果为:

目录为:
[ 'a1.txt','aa.txt','resume.doc']
删除后的目录为 :
[ 'a1.txt','resume.doc' ]

其他的总结

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

在Windows系统中,删除一个正在使用的文件,将抛出异常。在Unix中,目录表中的记录被删除,但文件的存储还在。

#使用os.unlink()和os.remove()来删除文件
#!/user/local/bin/python2.7
# -*- coding:utf-8 -*-
import os
my_file = 'D:/text.txt'
if os.path.exists(my_file):
 #删除文件,可使用以下两种方法。
 os.remove(my_file)
 #os.unlink(my_file)
else:
 print 'no such file:%s'%my_file

2、递归删除目录和文件的方法(类似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))

3、Python清空指定文件夹下所有文件的方法: 

 这个需求很简单:需要在执行某些代码前清空指定的文件夹,如果直接用os.remove(),可能出现因文件夹中文件被占用而无法删除,解决方法也很简单,先强制删除文件夹,再重新建同名文件夹即可:

import shutil 
shutil.rmtree('要清空的文件夹名') 
os.mkdir('要清空的文件夹名')

注:可参考这里对shutil模块的介绍:https://3water.com/article/110329.htm

如果想把一个文件从一个文件夹移动到另一个文件夹,并同时重命名,用shutil也很简单:

shutil.move('原文件夹/原文件名','目标文件夹/目标文件名')

4、python 删除非空文件夹

一般删除文件时使用os库,然后利用os.remove(path)即可完成删除,如果删除空文件夹则可使用os.removedirs(path)即可,
 但是如果需要删除整个文件夹,且文件夹非空时使用os.removedirs(path)就会报错了,此时可以使用shutil库,该库为python内置库,是一个对文件及文件夹高级操作的库,可以与os库互补完成一些操作,如文件夹的整体复制,移动文件夹,对文件重命名等。

import os
import shutil
os.remove(path) #删除文件
os.removedirs(path) #删除空文件夹
shutil.rmtree(path) #递归删除文件夹

参考文献:

1、https://blog.csdn.net/muwinter/article/details/77196261 2018.5.25
 2、https://blog.csdn.net/qysh123/article/details/51923606 2018.5.25
 3、http://www.runoob.com/python/os-unlink.html 2018.5.25
 4、http://www.runoob.com/python/os-rmdir.html 2018.5.25
 5、http://www.runoob.com/python/os-removedirs.html 2018.5.25
 6、http://www.runoob.com/python/os-remove.html 2018.5.25

到此这篇关于python删除文件、清空目录的实现方法的文章就介绍到这了,更多相关python删除文件、清空目录内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
在Python的Django框架中编写错误提示页面
Jul 22 Python
Python双精度浮点数运算并分行显示操作示例
Jul 21 Python
利用Python如何制作好玩的GIF动图详解
Jul 11 Python
Django保护敏感信息的方法示例
May 09 Python
Python迭代器模块itertools使用原理解析
Dec 11 Python
在pycharm中为项目导入anacodna环境的操作方法
Feb 12 Python
超全Python图像处理讲解(多模块实现)
Apr 13 Python
pandas数据处理之绘图的实现
Jun 15 Python
Python3.7安装pyaudio教程解析
Jul 24 Python
如何使用python socket模块实现简单的文件下载
Sep 04 Python
python编程项目中线上问题排查与解决
Nov 01 Python
深入理解Pytorch微调torchvision模型
Nov 11 Python
详解Anaconda 的安装教程
Sep 23 #Python
如何使用pycharm连接Databricks的步骤详解
Sep 23 #Python
社区版pycharm创建django项目的方法(pycharm的newproject左侧没有项目选项)
Sep 23 #Python
Python3+RIDE+RobotFramework自动化测试框架搭建过程详解
Sep 23 #Python
python通过函数名调用函数的几种场景
Sep 23 #Python
Python如何执行系统命令
Sep 23 #Python
Python SMTP发送电子邮件的示例
Sep 23 #Python
You might like
古巴咖啡 Cubita琥爵咖啡 独特的加勒比海风味咖啡
2021/03/06 新手入门
yii的入口文件index.php中为什么会有这两句
2016/08/04 PHP
jQuery遍历Form示例代码
2013/09/03 Javascript
jquery ajax 局部刷新小案例
2014/02/08 Javascript
Nodejs sublime text 3安装与配置
2014/06/19 NodeJs
Javascript核心读书有感之表达式和运算符
2015/02/11 Javascript
jQuery手机拨号界面特效代码分享
2015/08/27 Javascript
jQuery+HTML5实现弹出创意搜索框层
2016/12/29 Javascript
canvas压缩图片转换成base64格式输出文件流
2017/03/09 Javascript
Vue中计算属性computed的示例解读
2017/07/26 Javascript
angular动态表单制作
2018/02/23 Javascript
node结合swig渲染摸板的方法
2018/04/11 Javascript
详解React 的几种条件渲染以及选择
2018/10/23 Javascript
基于vue-cli、elementUI的Vue超简单入门小例子(推荐)
2019/04/17 Javascript
layui监听select变化,以及设置radio选中的方法
2019/09/24 Javascript
Vue的click事件防抖和节流处理详解
2019/11/13 Javascript
python进阶教程之循环相关函数range、enumerate、zip
2014/08/30 Python
python使用urllib2实现发送带cookie的请求
2015/04/28 Python
Python制作刷网页流量工具
2017/04/23 Python
Django实现简单分页功能的方法详解
2017/12/05 Python
python3+mysql查询数据并通过邮件群发excel附件
2018/02/24 Python
python实现简单http服务器功能
2018/09/17 Python
GitHub 热门:Python 算法大全,Star 超过 2 万
2019/04/29 Python
python检查目录文件权限并修改目录文件权限的操作
2020/03/11 Python
Python生成器实现简单"生产者消费者"模型代码实例
2020/03/27 Python
pytorch SENet实现案例
2020/06/24 Python
python 进程池pool使用详解
2020/10/15 Python
瑞士男士时尚网上商店:Babista
2020/05/14 全球购物
自我评价是什么
2014/01/04 职场文书
幼儿园家长会欢迎词
2014/01/09 职场文书
销售业务员岗位职责
2014/01/29 职场文书
支部书记四风问题自我剖析材料
2014/09/29 职场文书
高中班主任心得体会
2016/01/07 职场文书
nginx刷新页面出现404解决方案(亲测有效)
2022/03/18 Servers
vue使用localStorage持久性存储实现评论列表
2022/04/14 Vue.js
vue elementUI批量上传文件
2022/04/26 Vue.js