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快速查找list中相同部分的方法
Jun 27 Python
对python中if语句的真假判断实例详解
Feb 18 Python
详解用Python实现自动化监控远程服务器
May 18 Python
pyqt5之将textBrowser的内容写入txt文档的方法
Jun 21 Python
简单了解python PEP的一些知识
Jul 13 Python
django框架CSRF防护原理与用法分析
Jul 22 Python
python3反转字符串的3种方法(小结)
Nov 07 Python
Pytorch之contiguous的用法
Dec 31 Python
Django 解决新建表删除后无法重新创建等问题
May 21 Python
Python通过getattr函数获取对象的属性值
Oct 16 Python
一篇文章教你用python画动态爱心表白
Nov 22 Python
用Python自动清理系统垃圾的实现
Jan 18 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
咖啡与水的关系
2021/03/03 冲泡冲煮
劣质的PHP代码简化
2010/02/08 PHP
destoon会员注册提示“数据校验失败(2)”解决方法
2014/06/21 PHP
解决laravel5.4下的group by报错的问题
2019/10/16 PHP
javascript 静态对象和构造函数的使用和公私问题
2010/03/02 Javascript
从jQuery.camelCase()学习string.replace() 函数学习
2011/09/13 Javascript
通过上下左右键和回车键切换光标实现代码
2013/03/08 Javascript
node.js集成百度UE编辑器
2015/02/05 Javascript
JS实现状态栏跑马灯文字效果代码
2015/10/24 Javascript
学习JavaScript设计模式之状态模式
2016/01/08 Javascript
jQuery控制div实现随滚动条滚动效果
2016/06/07 Javascript
jQuery实现表格隔行及滑动,点击时变色的方法【测试可用】
2016/08/20 Javascript
微信小程序 后台https域名绑定和免费的https证书申请详解
2016/11/10 Javascript
Angularjs之filter过滤器(推荐)
2016/11/27 Javascript
js实现轮播图的完整代码
2020/10/26 Javascript
element-ui 表格数据时间格式化的方法
2018/08/24 Javascript
Vue动画事件详解及过渡动画实例
2019/02/09 Javascript
浅谈vue加载优化策略
2019/03/19 Javascript
简单了解Ajax表单序列化的实现方法
2019/06/14 Javascript
python使用Berkeley DB数据库实例
2014/09/26 Python
Python随手笔记之标准类型内建函数
2015/12/02 Python
Python读取Json字典写入Excel表格的方法
2018/01/03 Python
Django 使用Ajax进行前后台交互的示例讲解
2018/05/28 Python
python制作抖音代码舞
2019/04/07 Python
numpy中的ndarray方法和属性详解
2019/05/27 Python
8段用于数据清洗Python代码(小结)
2019/10/31 Python
用python解压分析jar包实例
2020/01/16 Python
美国顶级品牌男士大码服装店:DXL
2017/08/30 全球购物
Sneaker Studio罗马尼亚网站:购买运动鞋
2018/11/04 全球购物
党员干部民主生活会议批评与自我批评材料
2014/09/20 职场文书
购房个人委托书范本
2014/10/11 职场文书
2014年党支部工作总结
2014/11/13 职场文书
一年级小学生评语大全
2014/12/25 职场文书
集结号观后感
2015/06/08 职场文书
解决go在函数退出后子协程的退出问题
2021/04/30 Golang
Mysql实现简易版搜索引擎的示例代码
2021/08/30 MySQL