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 相关文章推荐
wxPython 入门教程
Oct 07 Python
Python中使用pprint函数进行格式化输出的教程
Apr 07 Python
Django 前后台的数据传递的方法
Aug 08 Python
pandas对指定列进行填充的方法
Apr 11 Python
python中reader的next用法
Jul 24 Python
Python WSGI的深入理解
Aug 01 Python
django 自定义过滤器的实现
Feb 26 Python
python实现整数的二进制循环移位
Mar 08 Python
python中tkinter的应用:修改字体的实例讲解
Jul 17 Python
Python如何使用字符打印照片
Jan 03 Python
Python线程条件变量Condition原理解析
Jan 20 Python
Pandas时间序列:时期(period)及其算术运算详解
Feb 25 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下清空字符串中的HTML标签的代码
2010/09/06 PHP
PHP fastcgi模式上传大文件(大约有300多K)报错
2014/09/28 PHP
CI框架支持$_GET的两种实现方法
2016/05/18 PHP
php判断是否连接上网络的方法实例详解
2016/12/14 PHP
CodeIgniter框架基本增删改查操作示例
2017/03/23 PHP
PHP解析url并得到url参数方法总结
2018/10/11 PHP
PHP基于session.upload_progress 实现文件上传进度显示功能详解
2019/08/09 PHP
javascript 播放器 控制
2007/01/22 Javascript
Ubuntu中搭建Nodejs开发环境过程分享
2014/06/01 NodeJs
jquery 隐藏与显示tr标签示例代码
2014/06/06 Javascript
NodeJS学习笔记之Connect中间件模块(二)
2015/01/27 NodeJs
Node.js中使用jQuery的做法
2016/08/17 Javascript
jQuery插件easyUI实现通过JS显示Dialog的方法
2016/09/16 Javascript
详解获取jq ul第一个li定位的四种解决方案
2016/11/23 Javascript
jQuery Validate设置onkeyup验证的实例代码
2016/12/09 Javascript
简单实现bootstrap选项卡效果
2017/02/08 Javascript
Vue.js实现一个漂亮、灵活、可复用的提示组件示例
2017/03/17 Javascript
jquery dataTable 获取某行数据
2017/05/05 jQuery
集成vue到jquery/bootstrap项目的方法
2018/02/10 jQuery
javascript实现blob加密视频源地址的方法
2019/08/08 Javascript
vue watch监控对象的简单方法示例
2021/01/07 Vue.js
python re正则表达式模块(Regular Expression)
2014/07/16 Python
Python爬取网易云音乐上评论火爆的歌曲
2017/01/19 Python
在Django model中设置多个字段联合唯一约束的实例
2019/07/17 Python
Python 爬取必应壁纸的实例讲解
2020/02/24 Python
canvas实现二维码和图片合成的示例代码
2018/08/01 HTML / CSS
美国求婚钻戒网站:Super Jeweler
2016/08/27 全球购物
西班牙网上书店:Casa del Libro
2016/11/01 全球购物
台湾团购、宅配和优惠券:17Life
2017/08/14 全球购物
经济学博士求职自荐信范文
2013/11/23 职场文书
团日活动总结报告
2014/06/25 职场文书
拾金不昧锦旗标语
2014/06/27 职场文书
住房抵押登记委托书
2014/09/27 职场文书
学校元旦晚会开场白
2014/12/14 职场文书
Python批量将csv文件转化成xml文件的实例
2021/05/10 Python
nginx内存池源码解析
2021/11/20 Servers