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 httplib,smtplib使用方法
Sep 06 Python
python在命令行下使用google翻译(带语音)
Jan 16 Python
python实现在windows下操作word的方法
Apr 28 Python
浅谈Python中的数据类型
May 05 Python
Python内置函数delattr的具体用法
Nov 23 Python
详谈Pandas中iloc和loc以及ix的区别
Jun 08 Python
Python操作MySQL数据库的方法
Jun 20 Python
详解Python Qt的窗体开发的基本操作
Jul 14 Python
利用Python库Scapy解析pcap文件的方法
Jul 23 Python
python使用writerows写csv文件产生多余空行的处理方法
Aug 01 Python
python RC4加密操作示例【测试可用】
Sep 26 Python
Python系统公网私网流量监控实现流程
Nov 23 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
PHP中的integer类型使用分析
2010/07/27 PHP
PHP中使用break跳出多重循环代码实例
2015/01/21 PHP
详细解读PHP中接口的应用
2015/08/12 PHP
PHP概率计算函数汇总
2015/09/13 PHP
Locate a File Using a File Open Dialog Box
2007/06/18 Javascript
常用Extjs工具:Extjs.util.Format使用方法
2012/03/22 Javascript
基于jQuery选择器的整理集合
2013/04/26 Javascript
React Native之ListView实现九宫格效果的示例
2017/08/02 Javascript
ES6中Array.includes()函数的用法
2017/09/20 Javascript
使用vue-aplayer插件时出现的问题的解决
2018/03/02 Javascript
Vue 让元素抖动/摆动起来的实现代码
2018/05/31 Javascript
深入浅析var,let,const的异同点
2018/08/07 Javascript
详解Vue源码学习之双向绑定
2019/04/10 Javascript
微信小程序封装分享与分销功能过程解析
2019/08/13 Javascript
vue路由 遍历生成复数router-link的例子
2019/10/30 Javascript
[28:48]《真视界》- 2017年国际邀请赛
2017/09/27 DOTA
部署Python的框架下的web app的详细教程
2015/04/30 Python
python抓取文件夹的所有文件
2018/02/27 Python
Django如何自定义分页
2018/09/25 Python
在Django的View中使用asyncio的方法
2019/07/12 Python
Python 实现数据结构-循环队列的操作方法
2019/07/17 Python
使用Python快乐学数学Github万星神器Manim简介
2019/08/07 Python
利用pandas将非数值数据转换成数值的方式
2019/12/18 Python
pytorch sampler对数据进行采样的实现
2019/12/31 Python
Python Selenium 设置元素等待的三种方式
2020/03/18 Python
如何在Windows中安装多个python解释器
2020/06/16 Python
解决Keras中循环使用K.ctc_decode内存不释放的问题
2020/06/29 Python
如何从csv文件构建Tensorflow的数据集
2020/09/21 Python
.NET常见笔试题集
2012/12/01 面试题
EJB的基本架构
2016/09/22 面试题
妇女儿童发展规划实施方案
2014/03/16 职场文书
个人遵守党的政治纪律情况对照检查材料思想汇报
2014/09/25 职场文书
党员个人党性分析材料
2014/12/18 职场文书
党员违纪检讨书
2015/05/05 职场文书
乡镇科协工作总结2015
2015/05/19 职场文书
基于python制作简易版学生信息管理系统
2021/04/20 Python