Python 实现删除某路径下文件及文件夹的实例讲解


Posted in Python onApril 24, 2018

Python 实现删除某路径下文件及文件夹的脚本

#!/usr/bin/env python
import os
import shutil
delList = []
delDir = "/home/test"
delList = os.listdir(delDir )
for f in delList:
  filePath = os.path.join( delDir, f )
  if os.path.isfile(filePath):
    os.remove(filePath)
    print filePath + " was removed!"
  elif os.path.isdir(filePath):
  shutil.rmtree(filePath,True)
    print "Directory: " + filePath +" was removed!"

shutil是一个高层次的文件操作模块。True参数表示ignore_errors(忽略拷贝时候的错误)。

类似于高级API,而且主要强大之处在于其对文件的复制与删除操作更是比较支持好。

[附] os模块(库)的使用

有关文件夹与文件的查找,删除等功能 在 os 模块中实现。

一、取得当前目录

#1.1
s = os.getcwd()
# s 中保存的是当前的执行目录(即执行所在的文件夹)

[注意]

如果是要获得程序运行的当前目录所在位置,那么可以使用os模块的os.getcwd()函数。

如果是要获得当前执行的脚本的所在目录位置,那么需要使用sys模块的sys.path[0]变量或者sys.argv[0]来获得

#1.2
import os
import time
folder = time.strftime(r"%Y-%m-%d_%H-%M-%S",time.localtime())
os.makedirs(r'%s/%s'%(os.getcwd(),folder))

二、更改当前目录

os.chdir( "/root/123")
#将当前目录设为 "/root/123"
#说明: 当指定的目录不存在时,引发异常。

三、将一个路径名分解为目录名和文件名两部分

fpath , fname = os.path.split( "你要分解的路径")

例如:

a, b = os.path.split( "/root/123/test.txt" )
print a
print b

显示:

/root/123/
test.txt

四、分解文件名的扩展名

fpathandname , fext = os.path.splitext( "你要分解的路径")

例如:

a, b = os.path.splitext( "/root/123/test.txt" )
print a
print b

显示:

/root/123/test
.txt

五、判断一个路径( 目录或文件)是否存在

b = os.path.exists( "你要判断的路径")

返回值b: True 或 False

六、判断一个路径是否文件

b = os.path.isfile( "你要判断的路径")

返回值b: True 或 False

七、判断一个路径是否目录

b = os.path.isdir( "你要判断的路径")

返回值b: True 或 False

八、获取某目录中的文件及子目录的列表

L = os.listdir( "你要判断的路径")

例如:

L = os.listdir( "/root/123" )
print L

显示 :

[‘test.txt', ‘test.py','python']
#这里面既有文件也有子目录

九、创建子目录

os.makedirs( path )  # path 是"要创建的子目录"

例如:

os.makedirs("/root/123")

调用有可能失败,可能的原因是:

(1) path 已存在时(不管是文件还是文件夹)

(2) 驱动器不存在

(3) 磁盘已满

(4)磁盘是只读的或没有写权限

十、删除子目录

os.rmdir( path ) # path: "要删除的子目录"

产生异常的可能原因:

(1) path 不存在

(2) path 子目录中有文件或下级子目录

(3) 没有操作权限或只读

十一、删除文件

os.remove(  filename )  # filename: "要删除的文件名"

产生异常的可能原因:

(1) filename 不存在

(2) 对filename文件, 没有操作权限或只读。

十二、文件改名

os.name( oldfileName, newFilename)

产生异常的原因:

(1) oldfilename 旧文件名不存在

(2) newFilename 新文件已经存在时,此时,您需要先删除 newFilename 文件。

以上这篇Python 实现删除某路径下文件及文件夹的实例讲解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
使用Python的Bottle框架写一个简单的服务接口的示例
Aug 25 Python
Linux下为不同版本python安装第三方库
Aug 31 Python
Python实现解析Bit Torrent种子文件内容的方法
Aug 29 Python
python+influxdb+shell编写区域网络状况表
Jul 27 Python
python爬虫获取百度首页内容教学
Dec 23 Python
Python 函数用法简单示例【定义、参数、返回值、函数嵌套】
Sep 20 Python
python调用函数、类和文件操作简单实例总结
Nov 29 Python
Python使用plt.boxplot() 参数绘制箱线图
Jun 04 Python
Python实现ElGamal加密算法的示例代码
Jun 19 Python
浅谈Python 命令行参数argparse写入图片路径操作
Jul 12 Python
如何基于Python按行合并两个txt
Nov 03 Python
python数据分析之用sklearn预测糖尿病
Apr 22 Python
python3+PyQt5实现文档打印功能
Apr 24 #Python
Python结合ImageMagick实现多张图片合并为一个pdf文件的方法
Apr 24 #Python
python3+PyQt5实现柱状图
Apr 24 #Python
python3+PyQt5自定义视图详解
Apr 24 #Python
python自动重试第三方包retrying模块的方法
Apr 24 #Python
python3+PyQt5泛型委托详解
Apr 24 #Python
python去除扩展名的实例讲解
Apr 23 #Python
You might like
删除无限级目录与文件代码共享
2006/07/12 PHP
PHP5中的this,self和parent关键字详解教程
2007/03/19 PHP
CI框架源码阅读,系统常量文件constants.php的配置
2013/02/28 PHP
一个PHP实现的轻量级简单爬虫
2015/07/08 PHP
php 三大特点:封装,继承,多态
2017/02/19 PHP
原生php实现excel文件读写的方法分析
2018/04/25 PHP
Laravel框架Auth用户认证操作实例分析
2019/09/29 PHP
Javascript 对象的解释
2008/11/24 Javascript
前端js文件合并的三种方式推荐
2016/05/19 Javascript
获取JS中网页各种高宽与位置的方法总结
2016/07/27 Javascript
jQuery实现带延时功能的水平多级菜单效果【附demo源码下载】
2016/09/21 Javascript
node.js中的事件处理机制详解
2016/11/26 Javascript
javascript设计模式之单体模式学习笔记
2017/02/15 Javascript
JavaScript程序设计高级算法之动态规划实例分析
2017/11/24 Javascript
JS弹窗 JS弹出DIV并使整个页面背景变暗功能的实现代码
2018/04/21 Javascript
JavaScript设计模式之建造者模式实例教程
2018/07/02 Javascript
[01:00:25]NB vs Secret 2018国际邀请赛小组赛BO1 B组加赛 8.19
2018/08/21 DOTA
jupyter安装小结
2016/03/13 Python
python实现简单flappy bird
2018/12/24 Python
关于Python形参打包与解包小技巧分享
2019/08/24 Python
Python列表元素常见操作简单示例
2019/10/25 Python
PyCharm下载和安装详细步骤
2019/12/17 Python
mac在matplotlib中显示中文的操作方法
2020/03/06 Python
Python loguru日志库之高效输出控制台日志和日志记录
2020/03/07 Python
Python基于numpy模块实现回归预测
2020/05/14 Python
Python建造者模式案例运行原理解析
2020/06/29 Python
解决Keras的自定义lambda层去reshape张量时model保存出错问题
2020/07/01 Python
HTML5 progress和meter控件_动力节点Java学院整理
2017/07/06 HTML / CSS
TCP/IP的分层模型
2013/10/27 面试题
生产副总岗位职责
2013/11/28 职场文书
母婴店促销方案
2014/03/05 职场文书
教师考核评语
2014/04/28 职场文书
总经理人事任命书
2014/06/05 职场文书
社会实践活动报告
2015/02/05 职场文书
黑暗中的舞者观后感
2015/06/18 职场文书
特种设备安全管理制度
2015/08/06 职场文书