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错误:AttributeError: 'module' object has no attribute 'setdefaultencoding'问题的解决方法
Aug 22 Python
在Python操作时间和日期之asctime()方法的使用
May 22 Python
python不换行之end=与逗号的意思及用途
Nov 21 Python
Python之pandas读写文件乱码的解决方法
Apr 20 Python
python3+PyQt5实现自定义流体混合窗口部件
Apr 24 Python
python实现雨滴下落到地面效果
Jun 21 Python
Python3.5装饰器典型案例分析
Apr 30 Python
对python tkinter窗口弹出置顶的方法详解
Jun 14 Python
python模拟鼠标点击和键盘输入的操作
Aug 04 Python
python操作gitlab API过程解析
Dec 27 Python
Python Http请求json解析库用法解析
Nov 28 Python
Python中npy和mat文件的保存与读取
Apr 24 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加密解密类代码
2011/11/27 PHP
PHP基于PDO实现的SQLite操作类【包含增删改查及事务等操作】
2017/06/21 PHP
详解PHP 二维数组排序保持键名不变
2019/03/06 PHP
js实现浏览器的各种菜单命令比如打印、查看源文件等等
2013/10/24 Javascript
JavaScript实现url地址自动检测并添加URL链接示例代码
2013/11/12 Javascript
js对字符的验证方法汇总
2015/02/04 Javascript
由浅入深剖析Angular表单验证
2016/07/14 Javascript
解析Javascript单例模式概念与实例
2016/12/05 Javascript
nodejs入门教程六:express模块用法示例
2017/04/24 NodeJs
JS非空验证及邮箱验证的实例
2017/08/11 Javascript
JS实现预加载视频音频/视频获取截图(返回canvas截图)
2017/10/09 Javascript
layui从数据库中获取复选框的值并默认选中方法
2018/08/15 Javascript
Angular ui-roter 和AngularJS 通过 ocLazyLoad 实现动态(懒)加载模块和依赖
2018/11/25 Javascript
微信小程序获取地理位置及经纬度授权代码实例
2019/09/18 Javascript
node.js事件轮询机制原理知识点
2019/12/22 Javascript
使用nodejs实现JSON文件自动转Excel的工具(推荐)
2020/06/24 NodeJs
jQuery开发仿QQ版音乐播放器
2020/07/10 jQuery
[13:16]INFAMOUS vs VGJ T BO3
2018/06/07 DOTA
Python通过PIL获取图片主要颜色并和颜色库进行对比的方法
2015/03/19 Python
Python3指定路径寻找符合匹配模式文件
2015/05/22 Python
Python使用迭代器捕获Generator返回值的方法
2017/04/05 Python
PyQt5固定窗口大小的方法
2019/06/18 Python
浅谈Pandas Series 和 Numpy array中的相同点
2019/06/28 Python
django drf框架中的user验证以及JWT拓展的介绍
2019/08/12 Python
python 接口实现 供第三方调用的例子
2019/08/13 Python
Linux面试经常问的文件系统操作命令
2016/10/04 面试题
总经理职责范文
2013/11/08 职场文书
单位工程竣工验收方案
2014/03/16 职场文书
2014五一国际劳动节活动总结范文
2014/04/14 职场文书
老干部工作先进事迹
2014/08/17 职场文书
会计学习心得体会
2014/09/09 职场文书
四风查摆问题及整改措施
2014/10/10 职场文书
事业单位岗位说明书
2015/10/08 职场文书
Golang全局变量加锁的问题解决
2021/05/08 Golang
Vue图片裁剪组件实例代码
2021/07/02 Vue.js
什么是Python装饰器?如何定义和使用?
2022/04/11 Python