python删除指定类型(或非指定)的文件实例详解

 更新时间:2015年07月06日 09:48:17   作者:viewcode  
这篇文章主要介绍了python删除指定类型(或非指定)的文件,以实例形式较为详细的分析了Python删除文件的相关技巧,需要的朋友可以参考下

本文实例分析了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的struct模块中进行数据格式转换的方法

    在Python的struct模块中进行数据格式转换的方法

    这篇文章主要介绍了在Python的struct模块中进行数据格式转换的方法,文中还给出了C语言和Python语言的数据类型比较,需要的朋友可以参考下
    2015-06-06
  • python代码中怎么换行

    python代码中怎么换行

    这篇文章主要介绍了python代码中怎么换行的相关知识点以及方法,需要的朋友们可以学习下。
    2020-06-06
  • 如何利用python处理原始音频数据

    如何利用python处理原始音频数据

    这篇文章主要介绍了如何利用python处理原始音频数据,文章以audioop的相关资料展开内容,audioop是python标准库中用于处理原始音频数据的模块,封装了一些便捷的编码转换函数。下文详细内容,需要的朋友可以参考以下
    2022-01-01
  • 基于PyQt5实现状态栏(statusBar)显示和隐藏功能

    基于PyQt5实现状态栏(statusBar)显示和隐藏功能

    这篇文章主要为大家详细介绍了如何利用PyQt5实现状态栏显示和隐藏功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-08-08
  • pandas中8种常用的index 索引设置

    pandas中8种常用的index 索引设置

    在数据处理时,经常会因为index报错而发愁,本文主要介绍了pandas中8种常用的index 索引设置,具有一定的参考价值,感兴趣的可以了解一下
    2024-07-07
  • Python编程应用设计原则详解

    Python编程应用设计原则详解

    什么是好用的代码呢?其实就是代码质量比较高,如何评价代码质量的高低呢?最常用的、最重要的评价标准,就是代码的可维护性、可读性、可扩展性、灵活性、简洁性、可复用性、可测试性
    2021-09-09
  • Django 权限认证(根据不同的用户,设置不同的显示和访问权限)

    Django 权限认证(根据不同的用户,设置不同的显示和访问权限)

    这篇文章主要介绍了Django 权限认证(根据不同的用户,设置不同的显示和访问权限),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07
  • 详解python播放音频的三种方法

    详解python播放音频的三种方法

    这篇文章主要介绍了python播放音频的三种方法,每种方法通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-09-09
  • Python使用matplotlib 模块scatter方法画散点图示例

    Python使用matplotlib 模块scatter方法画散点图示例

    这篇文章主要介绍了Python使用matplotlib 模块scatter方法画散点图,结合实例形式分析了Python数值运算与matplotlib模块图形绘制相关操作技巧,需要的朋友可以参考下
    2019-09-09
  • Python中Numpy ndarray的使用详解

    Python中Numpy ndarray的使用详解

    这篇文章主要介绍了Python中Numpy ndarray的使用详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-05-05

最新评论