python删除指定类型(或非指定)的文件实例详解


Posted in Python onJuly 06, 2015

本文实例分析了python删除指定类型(或非指定)的文件用法。分享给大家供大家参考。具体如下:
如下,删除目录下非源码文件

import os 
import string 
def del_files(dir,topdown=True): 
  for root, dirs, files in os.walk(dir, topdown): 
    for name in files: 
      pathname = os.path.splitext(os.path.join(root, name)) 
      if (pathname[1] != ".cpp" and pathname[1] != ".hpp" and pathname[1] != ".h"): 
        os.remove(os.path.join(root, name)) 
        print(os.path.join(root,name)) 
dir = os.getcwd() 
print(dir) 
del_files(dir)
#will delete the self .py file after run !!!-_- 
os.removedirs(dir)
#delete the empty directory recursively

以上功能,遍历文件夹 也可以用函数 os.listdir (dirname) 。只不过其与os.walk(dir, topdown) 的方式还是略有差异。
listdir 是按命名规则,对文件夹和文件、统一采用深度优先搜索的方式,进行列举
而os.walk的标准例程一般是先遍历文件,后遍历文件夹。

学习要点:

os类的函数:

os.getenv()和os.putenv()函数分别用来读取和设置环境变量。
os.system()函数用来运行shell命令。
os.linesep字符串给出当前平台使用的行终止符。例如,Windows使用'\r\n',Linux使用'\n'而Mac使用'\r'。

与路径相关的os函数

os.listdir(dirname):列出dirname下的目录和文件
os.getcwd():获得当前工作目录,即当前Python脚本工作的目录路径。
os.curdir:返回当前目录('.')
os.chdir(dirname):改变工作目录到dirname

os.path.isdir(name):判断name是不是一个目录,name不是目录就返回false
os.path.isfile(name):判断name是不是一个文件,不存在name也返回false
os.path.exists(name):判断是否存在文件或目录name

os.path.getsize(name):获得文件大小,如果name是目录返回0
os.path.abspath(name):获得绝对路径
os.path.normpath(path):规范path字符串形式

os.path.split(name):分割文件名与目录(事实上,如果你完全使用目录,它也会将最后一个目录作为文件名而分离,同时它不会判断文件或目录是否存在)
>>> os.path.split('/home/swaroop/byte/code/poem.txt')
('/home/swaroop/byte/code', 'poem.txt')
os.path.splitext():分离文件名与扩展名

os.rename(name1, name2) 重命名文件
如修改文件类型,os.rename(os.path.join(root, name), pathname[0]+".cpp") pathname[0]为文件名,pathname[1]为扩展名

os.path.join(path,name):连接目录与文件名或目录
os.path.basename(path):返回文件名
os.path.dirname(path):返回文件路径

os.walk返回三元组形式,相当于三元组列表,遍历path,返回一个对象,他的每个部分都是一个三元组,('目录x',[目录x下的目录list],目录x下面的文件)

string类型的数据,可以使用==, !=等运算符

多参考python帮助文档,很强大。

希望本文所述对大家的Python程序设计有所帮助。

Python 相关文章推荐
python抓取京东商城手机列表url实例代码
Dec 18 Python
Python实现比较两个文件夹中代码变化的方法
Jul 10 Python
python使用pil进行图像处理(等比例压缩、裁剪)实例代码
Dec 11 Python
django使用xlwt导出excel文件实例代码
Feb 06 Python
Python实现的求解最大公约数算法示例
May 03 Python
django query模块
Apr 20 Python
Python自动化运维之Ansible定义主机与组规则操作详解
Jun 13 Python
介绍一款python类型检查工具pyright(推荐)
Jul 03 Python
Python实现12306火车票抢票系统
Jul 04 Python
在Python中利用pickle保存变量的实例
Dec 30 Python
python中xlutils库用法浅析
Dec 29 Python
基于Pygame实现简单的贪吃蛇游戏
Dec 06 Python
python根据日期返回星期几的方法
Jul 06 #Python
python获取文件扩展名的方法
Jul 06 #Python
python创建临时文件夹的方法
Jul 06 #Python
Python中几个比较常见的名词解释
Jul 04 #Python
python检测是文件还是目录的方法
Jul 03 #Python
python生成随机密码或随机字符串的方法
Jul 03 #Python
在Python 3中实现类型检查器的简单方法
Jul 03 #Python
You might like
PHP项目开发中最常用的自定义函数整理
2010/12/02 PHP
linux下为php添加curl扩展的方法
2011/07/29 PHP
浅谈PHP变量作用域以及地址引用问题
2013/12/27 PHP
ThinkPHP3.2.2的插件控制器功能
2015/03/05 PHP
PHP判断字符串长度的两种方法很实用
2015/09/22 PHP
php array_udiff_assoc 计算两个数组的差集实例
2016/11/12 PHP
JavaScript 设计模式学习 Singleton
2009/07/27 Javascript
node.js中的socket.io入门实例
2014/04/26 Javascript
jQuery 实现自动填充邮箱功能(带下拉提示)
2014/10/14 Javascript
jquery attr()设置和获取属性值实例教程
2016/09/25 Javascript
javascript 注释代码的几种方法总结
2017/01/04 Javascript
使用Vue自定义数字键盘组件(体验度极好)
2017/12/19 Javascript
MVVM框架下实现分页功能示例
2018/06/14 Javascript
详解React之父子组件传递和其它一些要点
2018/06/25 Javascript
使用jQuery动态设置单选框的选中效果
2018/12/06 jQuery
JavaScript 性能提升之路(推荐)
2019/04/10 Javascript
vue(2.x,3.0)配置跨域代理
2019/11/27 Javascript
前端开发之便利店收银系统代码
2019/12/27 Javascript
JavaScript中window和document用法详解
2020/07/28 Javascript
python发送邮件示例(支持中文邮件标题)
2014/02/16 Python
浅谈Python 集合(set)类型的操作——并交差
2016/06/30 Python
selenium+python自动化测试之使用webdriver操作浏览器的方法
2019/01/23 Python
Python操作redis实例小结【String、Hash、List、Set等】
2019/05/16 Python
给Python学习者的文件读写指南(含基础与进阶)
2020/01/29 Python
tensorflow 分类损失函数使用小记
2020/02/18 Python
详解django中Template语言
2020/02/22 Python
python selenium 获取接口数据的实现
2020/12/07 Python
阿联酋航空官方网站:Emirates
2017/10/17 全球购物
英国领先的高街书籍专家:Waterstones
2018/02/01 全球购物
2019年分享net面试的经历和题目
2016/08/07 面试题
介绍一下你对SOA的认识
2016/04/24 面试题
应届电子商务毕业自荐书范文
2014/02/11 职场文书
2014年维修工作总结
2014/11/22 职场文书
学校教学管理制度
2015/08/06 职场文书
会议开幕致辞怎么写
2016/03/03 职场文书
pytorch 中nn.Dropout的使用说明
2021/05/20 Python