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 字符串中的字符倒转
Sep 06 Python
Python多线程扫描端口代码示例
Feb 09 Python
python微信跳一跳系列之色块轮廓定位棋盘
Feb 26 Python
Python模拟简单电梯调度算法示例
Aug 20 Python
详解pyenv下使用python matplotlib模块的问题解决
Nov 29 Python
使用python3构建文件传输的方法
Feb 13 Python
python关于调用函数外的变量实例
Dec 26 Python
Python连接字符串过程详解
Jan 06 Python
python中for in的用法详解
Apr 17 Python
使用jupyter notebook运行python和R的步骤
Aug 13 Python
Python3中小括号()、中括号[]、花括号{}的区别详解
Nov 15 Python
详解Python中string模块除去Str还剩下什么
Nov 30 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中的br换行符转换为文本输入中的换行符
2013/03/26 PHP
PHP mkdir()无写权限的问题解决方法
2014/06/19 PHP
PHP函数extension_loaded()用法实例
2015/01/19 PHP
在PHP程序中使用Rust扩展的方法
2015/07/03 PHP
PHP封装的数据库模型Model类完整示例【基于PDO】
2019/03/14 PHP
jQuery 添加/移除CSS类实现代码
2010/02/11 Javascript
Javascript 自定义类型方法小结
2010/03/02 Javascript
火狐下table中创建form导致两个table之间出现空白
2013/09/02 Javascript
JQEasy-ui在IE9以下版本中二次加载的问题分析及处理方法
2014/06/23 Javascript
jQuery中siblings()方法用法实例
2015/01/08 Javascript
JavaScript学习笔记之内置对象
2015/01/22 Javascript
jQuery实现仿腾讯微博滑出效果报告每日天气的方法
2015/05/11 Javascript
基于js实现的限制文本框只可以输入数字
2016/12/05 Javascript
微信小程序slider组件使用详解
2018/01/31 Javascript
axios取消请求的实践记录分享
2018/09/26 Javascript
解决微信小程序云开发中获取数据库的内容为空的方法
2019/05/15 Javascript
原生js实现碰撞检测
2020/03/12 Javascript
Django处理文件上传File Uploads的实例
2018/05/28 Python
python调用c++传递数组的实例
2019/02/13 Python
Django给admin添加Action的步骤详解
2019/05/01 Python
Django框架验证码用法实例分析
2019/05/10 Python
Python3 pandas 操作列表实例详解
2019/09/23 Python
python实现人工蜂群算法
2020/09/18 Python
PyCharm安装PyQt5及其工具(Qt Designer、PyUIC、PyRcc)的步骤详解
2020/11/02 Python
canvas粒子动画背景的实现示例
2018/09/03 HTML / CSS
台湾最大网路书店:博客来
2018/03/18 全球购物
泰国国际航空公司官网:Thai Airways International
2019/12/04 全球购物
飞利浦西班牙官方网站:Philips西班牙
2020/02/17 全球购物
27个经典Linux面试题及答案,你知道几个?
2013/01/10 面试题
同步和异步有何异同,在什么情况下分别使用他们?
2012/12/28 面试题
总经理秘书工作职责
2013/12/26 职场文书
公关活动策划方案
2014/05/25 职场文书
职业规划实施方案
2014/06/10 职场文书
2014年党的群众路线教育实践活动整改措施(个人版)
2014/09/25 职场文书
2015年组织委员工作总结
2015/04/23 职场文书
戒赌保证书
2015/05/11 职场文书