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调用短信猫控件实现发短信功能实例
Jul 04 Python
python实现ipsec开权限实例
Nov 11 Python
Python基于xlrd模块操作Excel的方法示例
Jun 21 Python
将tensorflow的ckpt模型存储为npy的实例
Jul 09 Python
Python (Win)readline和tab补全的安装方法
Aug 27 Python
Python内建序列通用操作6种实现方法
Mar 26 Python
matplotlib 生成的图像中无法显示中文字符的解决方法
Jun 10 Python
python中导入 train_test_split提示错误的解决
Jun 19 Python
Python实时监控网站浏览记录实现过程详解
Jul 14 Python
Pycharm Git 设置方法
Sep 15 Python
如何快速一次性卸载所有python包(第三方库)呢
Oct 20 Python
浅谈matplotlib默认字体设置探索
Feb 03 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
PHP邮件专题
2006/10/09 PHP
十天学会php之第十天
2006/10/09 PHP
使用PHP提取视频网站页面中的FLASH地址的代码
2010/04/17 PHP
php中使用preg_match_all匹配文章中的图片
2013/02/06 PHP
PHP入门之常量简介和系统常量
2014/05/12 PHP
PHP连接MYSQL数据库的3种常用方法
2017/02/27 PHP
PHP精确到毫秒秒杀倒计时实例详解
2019/03/14 PHP
显示js对象所有属性和方法的函数
2009/10/16 Javascript
基于jquery的合并table相同单元格的插件(精简版)
2011/04/05 Javascript
jquery弹出关闭遮罩层实例
2013/08/06 Javascript
javascript实现倒计时(精确到秒)
2015/06/26 Javascript
正则表达式优化JSON字符串的技巧
2015/12/24 Javascript
JS使用正则截取两个字符串之间的字符串实现方法详解
2017/01/06 Javascript
超全面的javascript中变量命名规则
2017/02/09 Javascript
JS区分Object与Aarry的六种方法总结
2017/02/27 Javascript
详解vee-validate的使用个人小结
2017/06/07 Javascript
详解用函数式编程对JavaScript进行断舍离
2017/09/18 Javascript
JavaScript的Object.defineProperty详解
2018/07/09 Javascript
jQuery+css last-child实现选择最后一个子元素操作示例
2018/12/10 jQuery
koa+jwt实现token验证与刷新功能
2019/05/30 Javascript
详解从vue-loader源码分析CSS Scoped的实现
2019/09/23 Javascript
在CMD命令行中运行python脚本的方法
2018/05/12 Python
Python爬取成语接龙类网站
2018/10/19 Python
六行python代码的爱心曲线详解
2019/05/17 Python
Python3实现zip分卷压缩过程解析
2019/10/09 Python
Django自定义用户表+自定义admin后台中的字段实例
2019/11/18 Python
Python 使用 PyQt5 开发的关机小工具分享
2020/07/16 Python
不可轻视HTML5!App三年内将被html5顶替彻底消失
2015/11/18 HTML / CSS
人事主管岗位职责
2014/01/30 职场文书
《临死前的严监生》教学反思
2014/02/13 职场文书
亲子读书活动方案
2014/02/22 职场文书
销售行政专员岗位职责
2014/06/10 职场文书
2014年家长学校工作总结
2014/11/20 职场文书
2014预防青少年违法犯罪工作总结
2014/12/10 职场文书
休学证明范本
2015/06/19 职场文书
Nginx报错104:Connection reset by peer问题的解决及分析
2022/07/23 Servers