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基于Floyd算法求解最短路径距离问题实例详解
May 16 Python
Python 查看list中是否含有某元素的方法
Jun 27 Python
python3结合openpyxl库实现excel操作的实例代码
Sep 11 Python
python列表list保留顺序去重的实例
Dec 14 Python
详解python websocket获取实时数据的几种常见链接方式
Jul 01 Python
Django项目使用ckeditor详解(不使用admin)
Dec 17 Python
Python3爬虫关于识别点触点选验证码的实例讲解
Jul 30 Python
详解Python中import机制
Sep 11 Python
Pycharm常用快捷键总结及配置方法
Nov 14 Python
Python利用folium实现地图可视化
May 23 Python
基于Python编写简易版的天天跑酷游戏的示例代码
Mar 23 Python
Python如何用re模块实现简易tokenizer
May 02 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 获取当前访问的url文件名的方法小结
2010/02/08 PHP
php Session存储到Redis的方法
2013/11/04 PHP
10个实用的PHP正则表达式汇总
2014/10/23 PHP
PHP date函数常用时间处理方法
2015/05/11 PHP
Yii框架表单模型和验证用法
2016/05/20 PHP
javascript 随机展示头像实现代码
2011/12/06 Javascript
获取鼠标在div中的相对位置的实现代码
2013/12/30 Javascript
JavaScript实现信用卡校验方法
2015/04/07 Javascript
jQuery检测输入的字符串包含的中英文的数量
2015/04/17 Javascript
jQuery+AJAX实现遮罩层登录验证界面(附源码)
2020/09/13 Javascript
jQuery+ajax实现文章点赞功能的方法
2015/12/31 Javascript
js简单判断移动端系统的方法
2016/02/25 Javascript
基于javascript实现简单的抽奖系统
2020/04/15 Javascript
JS继承之借用构造函数继承和组合继承
2016/09/07 Javascript
浅谈bootstrap使用中的一些问题以及解决过程
2016/10/18 Javascript
bootstrap paginator分页前后台用法示例
2017/06/17 Javascript
详解AngularJS ng-class样式切换
2017/06/27 Javascript
Node.js readline模块与util模块的使用
2018/03/01 Javascript
vue根据进入的路由进行原路返回的方法
2018/09/26 Javascript
详解vue-cli项目开发/生产环境代理实现跨域请求
2019/07/23 Javascript
JavaScript 正则应用详解【模式、欲查、反向引用等】
2020/05/13 Javascript
vue实现可移动的悬浮按钮
2021/03/04 Vue.js
python实现JAVA源代码从ANSI到UTF-8的批量转换方法
2015/08/10 Python
Python编程实战之Oracle数据库操作示例
2017/06/21 Python
深入理解Python异常处理的哲学
2019/02/01 Python
查看python安装路径及pip安装的包列表及路径
2019/04/03 Python
完美解决keras 读取多个hdf5文件进行训练的问题
2020/07/01 Python
Belle Maison倍美丛官网:日本千趣会旗下邮购网站
2016/07/22 全球购物
美国美妆网站:B-Glowing
2016/10/12 全球购物
SKECHERS官方旗舰店:美国舒适运动休闲品牌
2017/12/22 全球购物
韩国乐天网上商城:Lotte iMall
2021/02/03 全球购物
制冷与电控专业应届生求职信
2013/11/11 职场文书
自荐书封面下载
2013/11/29 职场文书
汽车技术服务与贸易专业求职信
2014/07/20 职场文书
Python中的xlrd模块使用整理
2021/06/15 Python
小程序与后端Java接口交互实现HelloWorld入门
2021/07/09 Java/Android