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 subprocess模块学习总结
Mar 13 Python
小小聊天室Python代码实现
Aug 17 Python
Python实现数据库并行读取和写入实例
Jun 09 Python
python使用tornado实现简单爬虫
Jul 28 Python
Python数据报表之Excel操作模块用法分析
Mar 11 Python
python中对_init_的理解及实例解析
Oct 11 Python
OpenCV+Python--RGB转HSI的实现
Nov 27 Python
python获取网络图片方法及整理过程详解
Dec 20 Python
Python-openCV读RGB通道图实例
Jan 17 Python
python GUI库图形界面开发之PyQt5滚动条控件QScrollBar详细使用方法与实例
Mar 06 Python
python torch.utils.data.DataLoader使用方法
Apr 02 Python
使用Python脚本对GiteePages进行一键部署的使用说明
May 27 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
法国:浪漫之都的咖啡文化
2021/03/03 咖啡文化
2个Codeigniter文件批量上传控制器写法例子
2014/07/25 PHP
PHP之sprintf函数用法详解
2014/11/12 PHP
Windows下编译PHP5.4和xdebug全记录
2015/04/03 PHP
PHP7匿名类用法分析
2016/09/26 PHP
利用XMLHTTP传递参数在另一页面执行并刷新本页
2006/10/26 Javascript
jquery select选中的一个小问题
2009/10/11 Javascript
JavaScript控制图片加载完成后调用回调函数的方法
2015/03/20 Javascript
JavaScript中Number.MIN_VALUE属性的使用示例
2015/06/04 Javascript
javascript回调函数的概念理解与用法分析
2017/05/27 Javascript
vue2 mint-ui loadmore实现下拉刷新,上拉更多功能
2018/03/21 Javascript
JS实现的贪吃蛇游戏完整实例
2019/01/18 Javascript
微信小程序 获取手机号 JavaScript解密示例代码详解
2020/05/14 Javascript
[01:12:27]EG vs Secret 2018国际邀请赛淘汰赛BO3 第二场 8.22
2018/08/23 DOTA
用实例说明python的*args和**kwargs用法
2013/11/01 Python
python机器学习理论与实战(四)逻辑回归
2018/01/19 Python
python for循环remove同一个list过程解析
2019/08/14 Python
wxpython绘制圆角窗体
2019/11/18 Python
使用OpenCV circle函数图像上画圆的示例代码
2019/12/27 Python
python字符串下标与切片及使用方法
2020/02/13 Python
PyCharm GUI界面开发和exe文件生成的实现
2020/03/04 Python
Python bytes string相互转换过程解析
2020/03/05 Python
Python多进程编程multiprocessing代码实例
2020/03/12 Python
英国著名的药妆网站:Escentual
2016/07/29 全球购物
Levi’s西班牙官方网站:李维斯,著名的牛仔裤品牌
2020/08/20 全球购物
医学护理系毕业生求职信
2013/10/01 职场文书
纪念建党演讲稿范文
2014/01/13 职场文书
国际经济贸易专业自荐信
2014/06/13 职场文书
高中美术教师事迹材料
2014/08/22 职场文书
超市工作总结范文2014
2014/12/19 职场文书
2015年五四青年节活动总结
2015/02/10 职场文书
求职信格式范文
2015/03/19 职场文书
奖学金主要事迹范文
2015/11/04 职场文书
公司晚会主持词
2019/04/17 职场文书
python如何做代码性能分析
2021/04/26 Python
关于HTML编码导致的乱码问题
2021/09/04 HTML / CSS