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 相关文章推荐
pycharm 使用心得(八)如何调用另一文件中的函数
Jun 06 Python
利用Python实现命令行版的火车票查看器
Aug 05 Python
再谈Python中的字符串与字符编码(推荐)
Dec 14 Python
Python实现动态添加属性和方法操作示例
Jul 25 Python
python钉钉机器人运维脚本监控实例
Feb 20 Python
Python实现去除图片中指定颜色的像素功能示例
Apr 13 Python
Python reduce函数作用及实例解析
May 08 Python
Python devel安装失败问题解决方案
Jun 09 Python
Python map及filter函数使用方法解析
Aug 06 Python
基于PyTorch中view的用法说明
Mar 03 Python
openstack中的rpc远程调用的方法
Jul 09 Python
一起来学习Python的元组和列表
Mar 13 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
php随机取mysql记录方法小结
2014/12/27 PHP
PHP常见数组函数用法小结
2016/03/21 PHP
使用PHP json_decode可能遇到的坑与解决方法
2017/08/03 PHP
DIV外区域Click后关闭DIV的实现代码
2011/12/21 Javascript
jquery实现上下左右滑动的方法
2015/02/09 Javascript
JavaScript数组常用方法
2015/03/02 Javascript
JavaScript数据结构与算法之链表
2016/01/29 Javascript
js事件驱动机制 浏览器兼容处理方法
2016/07/23 Javascript
Bootstrap基本插件学习笔记之Tooltip提示工具(18)
2016/12/08 Javascript
js实现tab切换效果
2017/02/16 Javascript
javascript 操作cookies详解及实例
2017/02/22 Javascript
angularjs中ng-bind-html的用法总结
2017/05/23 Javascript
jqgrid实现简单的单行编辑功能
2017/09/30 Javascript
解决vue-cli项目开发运行时内存暴涨卡死电脑问题
2019/10/29 Javascript
JavaScript十大取整方法实例教程
2020/12/03 Javascript
js中延迟加载和预加载的具体使用
2021/01/14 Javascript
[01:08:32]DOTA2-DPC中国联赛 正赛 DLG vs PHOENIX BO3 第二场 1月18日
2021/03/11 DOTA
Python中的defaultdict模块和namedtuple模块的简单入门指南
2015/04/01 Python
python threading模块操作多线程介绍
2015/04/08 Python
利用Python获取赶集网招聘信息前篇
2016/04/18 Python
python3实现斐波那契数列(4种方法)
2019/07/15 Python
基于Python编写一个计算器程序,实现简单的加减乘除和取余二元运算
2020/08/05 Python
Python colormap库的安装和使用详情
2020/10/06 Python
Python加载数据的5种不同方式(收藏)
2020/11/13 Python
python上下文管理的使用场景实例讲解
2021/03/03 Python
Fanatics法国官网:美国体育电商
2019/08/27 全球购物
社区志愿者心得体会
2014/01/03 职场文书
生日主持词
2014/03/20 职场文书
员工生日会策划方案
2014/06/14 职场文书
2014年行政执法工作总结
2014/12/11 职场文书
晚会主持人开场白台词
2015/05/28 职场文书
运动会闭幕式通讯稿
2015/07/18 职场文书
幼儿园科学课教学反思
2016/03/03 职场文书
《亲亲我的妈妈》观后感(3篇)
2019/09/26 职场文书
如何利用map实现Nginx允许多个域名跨域
2021/03/31 Servers
python opencv检测直线 cv2.HoughLinesP的实现
2021/06/18 Python