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中cPickle用法例子分享
Jan 03 Python
linux系统使用python监控apache服务器进程脚本分享
Jan 15 Python
编写简单的Python程序来判断文本的语种
Apr 07 Python
Python使用turtule画五角星的方法
Jul 09 Python
Python中import导入上一级目录模块及循环import问题的解决
Jun 04 Python
python如何去除字符串中不想要的字符
Jul 05 Python
PyTorch快速搭建神经网络及其保存提取方法详解
Apr 28 Python
浅谈Python中重载isinstance继承关系的问题
May 04 Python
对numpy.append()里的axis的用法详解
Jun 28 Python
pandas-resample按时间聚合实例
Dec 27 Python
TensorFlow实现保存训练模型为pd文件并恢复
Feb 06 Python
PyTorch 实现L2正则化以及Dropout的操作
May 27 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时间函数使用详解
2019/03/21 PHP
javascript编程起步(第一课)
2007/01/10 Javascript
兼容IE和Firefox的javascript获取iframe文档内容的函数
2011/08/15 Javascript
服务器端的JavaScript脚本 Node.js 使用入门
2012/03/07 Javascript
jquery之超简单的div显示和隐藏特效demo(分享)
2013/07/09 Javascript
利用js实现前台动态添加文本框,后台获取文本框内容(示例代码)
2013/11/25 Javascript
JS获得QQ号码的昵称,头像,生日的简单实例
2013/12/04 Javascript
JS对象转换为Jquery对象实现代码
2013/12/29 Javascript
第七章之菜单按钮图标组件
2016/04/25 Javascript
jQuery的Cookie封装,与PHP交互的简单实现
2016/10/05 Javascript
微信开发 使用picker封装省市区三级联动模板
2016/10/28 Javascript
AngularJS入门教程之多视图切换用法示例
2016/11/02 Javascript
Javascript之面向对象--封装
2016/12/02 Javascript
BootStrap中
2016/12/10 Javascript
jQuery实现花式轮播之圣诞节礼物传送效果
2016/12/25 Javascript
微信小程序蓝牙连接小票打印机实例代码详解
2019/06/03 Javascript
[36:45]TNC vs VGJ.S 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
Python写的Socks5协议代理服务器
2014/08/06 Python
Python内置函数OCT详解
2016/11/09 Python
python实现简易动态时钟
2018/11/19 Python
python matplotlib实现双Y轴的实例
2019/02/12 Python
Python秒算24点实现及原理详解
2019/07/29 Python
Matplotlib scatter绘制散点图的方法实现
2020/01/02 Python
python yield和Generator函数用法详解
2020/02/10 Python
Python3如何在Windows和Linux上打包
2020/02/25 Python
python 输入字符串生成所有有效的IP地址(LeetCode 93号题)
2020/10/15 Python
python爬虫如何解决图片验证码
2021/02/14 Python
检测用户浏览器是否支持CSS3的方法
2009/08/29 HTML / CSS
收集的7个CSS3代码生成工具
2010/04/17 HTML / CSS
HTML5 在canvas中绘制文本附效果图
2014/06/23 HTML / CSS
杰夫·班克斯男士服装网上商店:Jeff Banks
2019/10/24 全球购物
俄罗斯最大的香水和化妆品网上商店:Randewoo
2020/11/05 全球购物
C++的几个面试题附答案
2016/08/03 面试题
火车的故事教学反思
2014/02/11 职场文书
和解协议书
2014/04/16 职场文书
2022漫威和DC电影上映作品
2022/04/05 欧美动漫