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的Django框架中生成CSV文件的方法
Jul 22 Python
举例讲解Python面相对象编程中对象的属性与类的方法
Jan 19 Python
Android应用开发中Action bar编写的入门教程
Feb 26 Python
对Python中Iterator和Iterable的区别详解
Oct 18 Python
python中正则表达式 re.findall 用法
Oct 23 Python
Python List列表对象内置方法实例详解
Oct 22 Python
python文字转语音的实例代码分析
Nov 12 Python
linux 下python多线程递归复制文件夹及文件夹中的文件
Jan 02 Python
python实现文字版扫雷
Apr 24 Python
python多进程使用函数封装实例
May 02 Python
如何理解Python中的变量
Jun 01 Python
如何用Django处理gzip数据流
Jan 29 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-FPM实现性能优化
2016/03/31 PHP
一个对于Array的简单扩展
2006/10/03 Javascript
JS中简单的实现像C#中using功能(有源码下载)
2007/01/09 Javascript
传递参数的标准方法(jQuery.ajax)
2008/11/19 Javascript
jQuery find和children方法使用
2011/01/31 Javascript
基于jquery完美拖拽,可返回拖动轨迹
2012/03/29 Javascript
使用js简单实现了tree树菜单
2013/11/20 Javascript
基于Jquery和html5的7款个性化地图插件
2015/11/17 Javascript
JAVASCRIPT代码编写俄罗斯方块网页版
2015/11/26 Javascript
js跨域资源共享 基础篇
2016/07/02 Javascript
jquery轮播的实现方式 附完整实例
2016/07/28 Javascript
浅谈jquery采用attr修改form表单enctype不起作用的问题
2016/11/25 Javascript
IntersectionObserver API 详解篇
2016/12/11 Javascript
JS实现的系统调色板完整实例
2016/12/21 Javascript
微信小程序本地缓存数据增删改查实例详解
2017/05/24 Javascript
vue-loader教程介绍
2017/06/14 Javascript
Angular通过angular-cli来搭建web前端项目的方法
2017/07/27 Javascript
解决修复npm安装全局模块权限的问题
2018/05/17 Javascript
vue中多路由表头吸顶实现的几种布局方式
2019/04/12 Javascript
jQuery内容选择器与表单选择器实例分析
2019/06/28 jQuery
Node.js API详解之 querystring用法实例分析
2020/04/29 Javascript
vue相同路由跳转强制刷新该路由组件操作
2020/08/05 Javascript
如何区分vue中的v-show 与 v-if
2020/09/08 Javascript
react+antd 递归实现树状目录操作
2020/11/02 Javascript
[53:15]2018DOTA2亚洲邀请赛3月29日 小组赛A组 KG VS OG
2018/03/30 DOTA
Python Web开发模板引擎优缺点总结
2014/05/06 Python
python 系统调用的实例详解
2017/07/11 Python
python url 参数修改方法
2018/12/26 Python
Python实现 PS 图像调整中的亮度调整
2019/06/28 Python
简单了解python变量的作用域
2019/07/30 Python
Python partial函数原理及用法解析
2019/12/11 Python
Python hashlib加密模块常用方法解析
2019/12/18 Python
美国祛痘、抗衰老药妆品牌:Murad
2016/08/27 全球购物
机电专业个人求职信范文
2013/12/30 职场文书
大学专科求职信
2014/07/02 职场文书
租房安全协议书
2014/08/20 职场文书