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实现TCP协议下的端口映射功能的脚本程序示例
Jun 14 Python
python中的lambda表达式用法详解
Jun 22 Python
python模块简介之有序字典(OrderedDict)
Dec 01 Python
Python实现的knn算法示例
Jun 14 Python
Python类装饰器实现方法详解
Dec 21 Python
解决Python安装时报缺少DLL问题【两种解决方法】
Jul 15 Python
django用户登录验证的完整示例代码
Jul 21 Python
PyCharm使用Docker镜像搭建Python开发环境
Dec 26 Python
带你彻底搞懂python操作mysql数据库(cursor游标讲解)
Jan 06 Python
使用Keras实现Tensor的相乘和相加代码
Jun 18 Python
selenium框架中driver.close()和driver.quit()关闭浏览器
Dec 08 Python
解决numpy和torch数据类型转化的问题
May 23 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执行sql语句的写法
2009/03/10 PHP
php实现异步将远程链接上内容(图片或内容)写到本地的方法
2016/11/30 PHP
Smarty模板变量与调节器实例详解
2019/07/20 PHP
laravel 操作数据库常用函数的返回值方法
2019/10/11 PHP
javascript 打开页面window.location和window.open的区别
2010/03/17 Javascript
有道JavaScript监听浏览器的问题
2010/06/23 Javascript
jQuery.Validate 使用笔记(jQuery Validation范例 )
2010/06/25 Javascript
js写的方法实现上传图片之后查看大图
2014/03/05 Javascript
js如何调用qq互联api实现第三方登录
2014/03/28 Javascript
Node.js模块加载详解
2014/08/16 Javascript
JavaScript实现网页对象拖放功能的方法
2015/04/15 Javascript
JQuery.validationEngine表单验证插件(推荐)
2016/12/10 Javascript
js数字计算 误差问题的快速解决方法
2017/02/28 Javascript
vue使用laydate时间插件的方法
2018/11/14 Javascript
基于Koa2写个脚手架模拟接口服务的方法
2018/11/27 Javascript
浅谈layui 数据表格前后台传值的问题
2019/09/12 Javascript
微信小程序实现watch监听
2020/06/04 Javascript
Python学习笔记_数据排序方法
2014/05/22 Python
Python处理PDF及生成多层PDF实例代码
2017/04/24 Python
HTML中使用python屏蔽一些基本功能的方法
2017/07/07 Python
Python并发:多线程与多进程的详解
2019/01/24 Python
TensorFlow通过文件名/文件夹名获取标签,并加入队列的实现
2020/02/17 Python
Python中过滤字符串列表的方法
2020/12/22 Python
Biblibili视频投稿接口分析并以Python实现自动投稿功能
2021/02/05 Python
CSS3制作Dropdown下拉菜单的方法
2015/07/18 HTML / CSS
会计学应届毕业生推荐信
2013/11/04 职场文书
师范教师毕业鉴定
2014/01/13 职场文书
党支部三严三实对照检查材料思想汇报
2014/09/29 职场文书
预备党员考察表党小组意见
2015/06/01 职场文书
大学军训通讯稿
2015/07/18 职场文书
学校就业保障协议书
2019/06/24 职场文书
详解Redis实现限流的三种方式
2021/04/27 Redis
python 爬取天气网卫星图片
2021/06/07 Python
mysql如何配置白名单访问
2021/06/30 MySQL
常用的MongoDB查询语句的示例代码
2021/07/25 MongoDB
win10蓝屏0xc0000001安全模式进不了怎么办?win10出现0xc0000001的解决方法
2022/08/05 数码科技