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中实现变量赋值传递时的引用和拷贝方法
Apr 29 Python
pandas.loc 选取指定列进行操作的实例
May 18 Python
解决Python一行输出不显示的问题
Dec 03 Python
将python运行结果保存至本地文件中的示例讲解
Jul 11 Python
python双向链表原理与实现方法详解
Dec 03 Python
Python: tkinter窗口屏幕居中,设置窗口最大,最小尺寸实例
Mar 04 Python
Python如何存储数据到json文件
Mar 09 Python
Kears 使用:通过回调函数保存最佳准确率下的模型操作
Jun 17 Python
python能自学吗
Jun 18 Python
ITK 实现多张图像转成单个nii.gz或mha文件案例
Jul 01 Python
python 常用日期处理-- datetime 模块的使用
Sep 02 Python
python内置模块之上下文管理contextlib
Jun 14 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/12/06 PHP
php ajax 静态分页过程形式
2011/09/02 PHP
PHP实现获取文件后缀名的几种常用方法
2015/08/08 PHP
PHP全功能无变形图片裁剪操作类与用法示例
2017/01/10 PHP
ThinkPHP6.0如何利用自定义验证规则规范的实现登陆
2020/12/16 PHP
setTimeout自动触发一个js的方法
2014/01/15 Javascript
基于jQuery实现表单提交验证
2014/11/24 Javascript
jquery 构造函数在表单提交过程中修改数据
2015/05/25 Javascript
基于JavaScript实现 网页切出 网站title变化代码
2016/04/03 Javascript
JavaScript函数节流概念与用法实例详解
2016/06/20 Javascript
微信小程序  简单实例(阅读器)的实例开发
2016/09/29 Javascript
jquery操作ID带有变量的节点实例
2016/12/07 Javascript
JavaScript Date 知识浅析
2017/01/29 Javascript
jQuery实现在新增加的元素上添加事件方法案例分析
2017/02/09 Javascript
Vue中保存用户登录状态实例代码
2017/06/07 Javascript
详解JS获取HTML DOM元素的8种方法
2017/06/17 Javascript
vue-cli项目中怎么使用mock数据
2017/09/27 Javascript
详解VUE-地区选择器(V-Distpicker)组件使用心得
2018/05/07 Javascript
JavaScript实现读取与输出XML文件数据的方法示例
2018/06/05 Javascript
p5.js实现动态图形临摹
2019/10/23 Javascript
Vue实现商品飞入购物车效果(电商项目)
2019/11/26 Javascript
[03:46]显微镜下的DOTA2第七期——满血与残血
2014/06/20 DOTA
Python基础之函数用法实例详解
2014/09/10 Python
Python的Urllib库的基本使用教程
2015/04/30 Python
Swift 3.0在集合类数据结构上的一些新变化总结
2016/07/11 Python
Django urls.py重构及参数传递详解
2019/07/23 Python
详解Python3 中的字符串格式化语法
2020/01/15 Python
pycharm解决关闭flask后依旧可以访问服务的问题
2020/04/03 Python
selenium如何定位span元素的实现
2021/01/13 Python
Python实现邮件发送的详细设置方法(遇到问题)
2021/01/18 Python
美国现代家具和家居商店:Apt2B
2016/08/29 全球购物
管理学专业个人求职信范文
2013/12/13 职场文书
积极分子思想汇报
2014/01/04 职场文书
《兰亭集序》教学反思
2014/02/11 职场文书
为什么说餐饮很难做,是因为你不了解这些新规则
2019/08/20 职场文书
win11怎么消除图标小盾牌?win11消除图标小盾牌解决方法
2022/08/05 数码科技