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 相关文章推荐
Flask数据库迁移简单介绍
Oct 24 Python
python3利用smtplib通过qq邮箱发送邮件方法示例
Dec 03 Python
Python Web程序部署到Ubuntu服务器上的方法
Feb 22 Python
python实现植物大战僵尸游戏实例代码
Jun 10 Python
Django 开发环境配置过程详解
Jul 18 Python
Django项目主urls导入应用中views的红线问题解决
Aug 10 Python
python关于变量名的基础知识点
Mar 03 Python
Python实现疫情通定时自动填写功能(附代码)
May 27 Python
python代码如何注释
Jun 01 Python
PyTorch安装与基本使用详解
Aug 31 Python
python 爬虫请求模块requests详解
Dec 04 Python
PyTorch梯度裁剪避免训练loss nan的操作
May 24 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下利用curl判断远程文件是否存在的实现代码
2011/10/08 PHP
php获取百度收录、百度热词及百度快照的方法
2015/04/02 PHP
php对数组内元素进行随机调换的方法
2015/05/12 PHP
php获取英文姓名首字母的方法
2015/07/13 PHP
PHP实现的数组和XML文件相互转换功能示例
2018/03/15 PHP
Thinkphp5+uploadify实现的文件上传功能示例
2018/05/26 PHP
javascript 对象定义方法 简单易学
2009/03/22 Javascript
Javascript无阻塞加载具体方式
2013/06/28 Javascript
通过js简单实现将一个文本内容转译成加密文本
2013/10/22 Javascript
利用jquery写的左右轮播图特效
2014/02/12 Javascript
bootstrap fileinput完整实例分享
2016/11/08 Javascript
Websocket协议详解及简单实例代码
2016/12/12 Javascript
详解nodejs express下使用redis管理session
2017/04/24 NodeJs
jQuery实现动态删除LI的方法
2017/05/30 jQuery
关于webpack代码拆分的解析
2017/07/20 Javascript
jquery中为什么能用$操作
2019/06/18 jQuery
微信小程序音乐播放器开发
2019/11/20 Javascript
JS实现点击下拉列表文本框中出现对应的网址,点击跳转按钮实现跳转
2019/11/25 Javascript
Nodejs封装类似express框架的路由实例详解
2020/01/05 NodeJs
[10:28]2018DOTA2国际邀请赛寻真——VGJ.S寻梦之路
2018/08/15 DOTA
python Django框架实现自定义表单提交
2016/03/25 Python
在Python程序员面试中被问的最多的10道题
2017/12/05 Python
Python中按键来获取指定的值
2019/03/02 Python
PyTorch中Tensor的拼接与拆分的实现
2019/08/18 Python
python异步编程 使用yield from过程解析
2019/09/25 Python
python创建文本文件的简单方法
2020/08/30 Python
KIKO比利时官网:意大利彩妆品牌
2017/07/23 全球购物
建设幸福中国演讲稿
2014/09/11 职场文书
党员个人对照检查材料思想汇报
2014/09/16 职场文书
领导党的群众路线教育实践活动个人对照检查材料
2014/09/23 职场文书
2014年幼儿园安全工作总结
2014/11/10 职场文书
个人先进事迹材料范文
2014/12/29 职场文书
团委工作总结2015
2015/04/02 职场文书
left join、inner join、right join的区别
2021/04/05 MySQL
mybatis调用sqlserver存储过程返回结果集的方法
2021/05/08 SQL Server
PostgreSQL常用字符串分割函数整理汇总
2022/07/07 PostgreSQL