python获取文件后缀名及批量更新目录下文件后缀名的方法


Posted in Python onNovember 11, 2014

本文实例讲述了python获取文件后缀名及批量更新目录下文件后缀名的方法。分享给大家供大家参考。具体实现方法如下:

1. 获取文件后缀名:

#!/usr/bin/python

import os

dict = {}

for d, fd, fl in os.walk('/home/ahda/Program/'):

        for f in fl:

                sufix = os.path.splitext(f)[1][1:]

                if dict.has_key(sufix):

                        dict[sufix] += 1

                else:

                        dict[sufix] = 1

for item in dict.items():

        print "%s : %s" % item

这里的关键是os.path.splitext()
如abc/ef.g.h ,这里获取到的是h

2. python查找遍历指定文件路径下指定后缀名的文件实例:

import os

import sys

import os.path

for dirpath, dirnames, filenames in os.walk(startdir):

        for filename in filenames:

            if os.path.splitext(filename)[1] == '.txt':

               filepath = os.path.join(dirpath, filename)

               #print("file:" + filepath)

               input_file = open(filepath)

               text = input_file.read()

               input_file.close()

               

               output_file = open( filepath, 'w')

               output_file.write(text)

               output_file.close()

3. 批量重命名目录中的文件后缀实例:
import os

def swap_extensions(dir, before, after):

    if before[:1] != '.': #如果参数中的后缀名没有'.'则加上

        before = '.' + before

    thelen = -len(before)

    if after[:1] != '.':

        after = '.' + after

    for path, subdir, files in os.walk(dir):

        for oldfile in files:

            if oldfile[thelen:] == before:

                oldfile = os.path.join(path, oldfile)

                newfile = oldfile[:thelen] + after

                os.rename(oldfile, newfile)

                print oldfile +' changed to ' + newfile

if __name__ == '__main__':

    import sys

    if len(sys.argv) != 4:

        print 'Usage:swap_extension.py rootdir before after'

        sys.exit(1)

    swap_extensions(sys.argv[1], sys.argv[2], sys.argv[3])

例子:将e:/py/test目录下.php结尾的文件重命名为.py
 
E:py>python_cook e:/py/test .php .py
e:/py/testtest.php changed to e:/py/testtest.py
e:/py/test1.php changed to e:/py/test1.py
e:/py/test2.php changed to e:/py/test2.py

希望本文所述对大家的Python程序设计有所帮助。

Python 相关文章推荐
python多线程扫描端口示例
Jan 16 Python
python基于BeautifulSoup实现抓取网页指定内容的方法
Jul 09 Python
Python爬取APP下载链接的实现方法
Sep 30 Python
python虚拟环境virualenv的安装与使用
Dec 18 Python
python的Tqdm模块的使用
Jan 10 Python
Python实现的rsa加密算法详解
Jan 24 Python
Python MySQLdb 使用utf-8 编码插入中文数据问题
Mar 13 Python
使用Python和Scribus创建一个RGB立方体的方法
Jul 17 Python
Tensorflow之梯度裁剪的实现示例
Mar 08 Python
Django:使用filter的pk进行多值查询操作
Jul 15 Python
关于多种方式完美解决Python pip命令下载第三方库的问题
Dec 21 Python
 Python 中 logging 模块使用详情
Mar 03 Python
python实现在目录中查找指定文件的方法
Nov 11 #Python
Python实现list反转实例汇总
Nov 11 #Python
用python实现面向对像的ASP程序实例
Nov 10 #Python
python求列表交集的方法汇总
Nov 10 #Python
python实现删除文件与目录的方法
Nov 10 #Python
Python装饰器decorator用法实例
Nov 10 #Python
python中list循环语句用法实例
Nov 10 #Python
You might like
将数字格式的计算结果转为汉字格式
2006/10/09 PHP
使用PHP批量生成随机用户名
2008/07/10 PHP
PHP程序开发范例学习之表单 获取文本框的值
2011/08/08 PHP
关于PHP语言构造器介绍
2013/07/08 PHP
PHP实现根据图片色界在不同位置加水印的方法
2015/08/08 PHP
通过PHP的Wrapper无缝迁移原有项目到新服务的实现方法
2020/04/02 PHP
Prototype使用指南之range.js
2007/01/10 Javascript
js判断当前页面在移动设备还是在PC端中打开
2016/01/06 Javascript
jQuery遍历DOM元素与节点方法详解
2016/04/14 Javascript
JS 全屏和退出全屏详解及实例代码
2016/11/07 Javascript
jQuery电话号码验证实例
2017/01/05 Javascript
angular仿支付宝密码框输入效果
2017/03/25 Javascript
详解Javascript获取缓存和清除缓存API
2017/05/25 Javascript
js实现移动端轮播图效果
2020/12/09 Javascript
vuejs选中当前样式active的实例
2018/08/22 Javascript
对vuejs的v-for遍历、v-bind动态改变值、v-if进行判断的实例讲解
2018/08/27 Javascript
angular4+百分比进度显示插件用法示例
2019/05/05 Javascript
vue视图不更新情况详解
2019/05/16 Javascript
Python 第一步 hello world
2009/09/25 Python
Python常用的文件及文件路径、目录操作方法汇总介绍
2015/05/21 Python
python链接Oracle数据库的方法
2015/06/28 Python
django 发送邮件和缓存的实现代码
2018/07/18 Python
Python流程控制 if else实现解析
2019/09/02 Python
Pandas聚合运算和分组运算的实现示例
2019/10/17 Python
原生python实现knn分类算法
2019/10/24 Python
Currentbody法国:健康与美容高科技产品
2020/08/16 全球购物
库房主管岗位职责
2013/12/31 职场文书
索桥的故事教学反思
2014/02/06 职场文书
《第一次抱母亲》教学反思
2014/04/16 职场文书
外联部演讲稿
2014/05/24 职场文书
房屋买卖授权委托书
2014/09/27 职场文书
代领报检证委托书范本
2014/10/11 职场文书
2015年法制宣传月活动总结
2015/03/26 职场文书
亮剑观后感600字
2015/06/05 职场文书
退休欢送会主持词
2015/07/01 职场文书
详解PHP服务器如何在有限的资源里最大提升并发能力
2021/05/25 PHP