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 中文字符串的处理实现代码
Oct 25 Python
Python实现的大数据分析操作系统日志功能示例
Feb 11 Python
Python Pandas分组聚合的实现方法
Jul 02 Python
django框架cookie和session用法实例详解
Dec 10 Python
pytorch实现onehot编码转为普通label标签
Jan 02 Python
Python 实现递归法解决迷宫问题的示例代码
Jan 12 Python
python opencv 图像边框(填充)添加及图像混合的实现方法(末尾实现类似幻灯片渐变的效果)
Mar 09 Python
Django实现后台上传并显示图片功能
May 29 Python
获取python运行输出的数据并解析存为dataFrame实例
Jul 07 Python
使用Python实现微信拍一拍功能的思路代码
Jul 09 Python
如何基于python把文字图片写入word文档
Jul 31 Python
Python卷积神经网络图片分类框架详解分析
Nov 07 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中json_encode中文编码问题分析
2011/09/13 PHP
PHP时间戳与日期之间转换的实例介绍
2013/04/19 PHP
phpstorm 正则匹配删除空行、注释行(替换注释行为空行)
2018/01/21 PHP
浅析PHP echo 和 print 语句
2020/06/30 PHP
PHP代码覆盖率统计详解
2020/07/22 PHP
javascript一些不错的函数脚本代码
2008/09/10 Javascript
JavaScript代码应该放在HTML代码哪个位置比较好?
2014/10/16 Javascript
jQuery中:enabled选择器用法实例
2015/01/04 Javascript
js实现仿百度瀑布流的方法
2015/02/05 Javascript
js点击文本框后才加载验证码实例代码
2015/10/20 Javascript
js实现为a标签添加事件的方法(使用闭包循环)
2016/08/02 Javascript
javascript如何创建对象
2016/08/29 Javascript
Bootstrap CDN和本地化环境搭建
2016/10/26 Javascript
ajax的分页查询示例(不刷新页面)
2017/01/11 Javascript
mac上node.js环境的安装测试
2017/07/03 Javascript
解决jquery的ajax调取后端数据成功却渲染失败的问题
2018/08/08 jQuery
通过vue.extend实现消息提示弹框的方法记录
2021/01/07 Vue.js
python自动化报告的输出用例详解
2018/05/30 Python
解决Tensorflow使用pip安装后没有model目录的问题
2018/06/13 Python
Python 变量类型详解
2018/10/10 Python
pandas中遍历dataframe的每一个元素的实现
2019/10/23 Python
Python可变参数会自动填充前面的默认同名参数实例
2019/11/18 Python
HTML5之WebGL 3D概述(上)—WebGL原生开发开启网页3D渲染新时代
2013/01/31 HTML / CSS
GafasWorld哥伦比亚:网上购买眼镜
2017/11/28 全球购物
印度首选时尚目的地:Reliance Trends
2018/01/17 全球购物
英国户外装备商店:Ultimate Outdoors
2019/05/07 全球购物
国际商务专业职业生涯规划书范文
2014/01/17 职场文书
《风娃娃》教学反思
2014/04/19 职场文书
财务人员担保书
2014/05/13 职场文书
2014法制宣传日活动总结
2014/07/09 职场文书
企业安全生产责任书范本
2014/07/28 职场文书
购房协议书范本(无房产证)
2014/10/07 职场文书
2015秋季幼儿园开学寄语
2015/03/25 职场文书
公司董事任命书
2015/09/21 职场文书
2016新年晚会开场白
2015/12/03 职场文书
一个成功的互联网创业项目,必须满足这些要求
2019/08/23 职场文书