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中处理字符串之ljust()方法的使用简介
May 19 Python
浅谈django中的认证与登录
Oct 31 Python
Python实现使用卷积提取图片轮廓功能示例
May 12 Python
Flask实现跨域请求的处理方法
Sep 27 Python
IntelliJ IDEA安装运行python插件方法
Dec 10 Python
python安装本地whl的实例步骤
Oct 12 Python
python opencv实现信用卡的数字识别
Jan 12 Python
Python操作Jira库常用方法解析
Apr 10 Python
使用Python解析Chrome浏览器书签的示例
Nov 13 Python
Python使用tkinter实现小时钟效果
Feb 22 Python
python turtle绘制多边形和跳跃和改变速度特效
Mar 16 Python
python如何利用cv2.rectangle()绘制矩形框
Dec 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新手上路(九)
2006/10/09 PHP
PHP获取当前页面完整URL的实现代码
2013/06/10 PHP
php压缩和解压缩字符串的方法
2015/03/14 PHP
Laravel模型间关系设置分表的方法示例
2018/04/21 PHP
jquery DOM操作 基于命令改变页面
2010/05/06 Javascript
获得所有表单值的JQuery实现代码[IE暂不支持]
2012/05/24 Javascript
js获取通过ajax返回的map型的JSONArray的方法
2014/01/09 Javascript
js判断字符长度及中英文数字等
2014/03/19 Javascript
JS实现静止元素自动移动示例
2014/04/14 Javascript
javascript闭包入门示例
2014/04/30 Javascript
什么是cookie?js手动创建和存储cookie
2014/05/27 Javascript
jQuery获取节点和子节点文本的方法
2014/07/22 Javascript
JavaScript中获取时间的函数集
2016/08/16 Javascript
JS实现复制内容到剪贴板功能
2017/02/05 Javascript
NodeJS安装图文教程
2018/04/19 NodeJs
微信小程序获取地理位置及经纬度授权代码实例
2019/09/18 Javascript
JavaScript经典案例之简易计算器
2020/08/24 Javascript
JavaScript封装单向链表的示例代码
2020/09/17 Javascript
SpringBoot在yml配置文件中配置druid的操作
2020/11/16 Javascript
[02:06]DOTA2肉山黑名单魔法终结者 敌法师中文配音鉴赏
2013/06/17 DOTA
python目录操作之python遍历文件夹后将结果存储为xml
2014/01/27 Python
详解Python import方法引入模块的实例
2017/08/02 Python
pytorch 共享参数的示例
2019/08/17 Python
python3实现用turtle模块画一棵随机樱花树
2019/11/21 Python
pyinstaller 3.6版本通过pip安装失败的解决办法(推荐)
2020/01/18 Python
Python3 xml.etree.ElementTree支持的XPath语法详解
2020/03/06 Python
Python制作一个仿QQ办公版的图形登录界面
2020/09/22 Python
html5 input输入实时检测以及延时优化
2018/07/18 HTML / CSS
德国网上药房:Apotal
2017/04/04 全球购物
工商管理专业自荐信
2014/06/03 职场文书
企业标语口号
2014/06/10 职场文书
年度考核表个人总结
2015/03/06 职场文书
如何用threejs实现实时多边形折射
2021/05/07 Javascript
vue项目多环境配置(.env)的实现
2021/07/21 Vue.js
Java反应式框架Reactor中的Mono和Flux
2021/07/25 Java/Android
python编程实现清理微信重复缓存文件
2021/11/01 Python