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

 更新时间:2014年11月11日 09:57:22   投稿:shichen2014  
这篇文章主要介绍了python获取文件后缀名及批量更新目录下文件后缀名的方法,实例展示了Python针对文件后缀名的遍历查找及修改等常用操作技巧,并对其中的关键知识点进行了分析与总结,需要的朋友可以参考下

本文实例讲述了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中的基本数据类型介绍

    这篇文章介绍了Python中的基本数据类型,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-07-07
  • Python获取江苏疫情实时数据及爬虫分析

    Python获取江苏疫情实时数据及爬虫分析

    为了关注疫情状况,今天我们用python来爬一爬疫情的实时数据,本文通过实例图文相结合给大家介绍的非常详细,需要的朋友参考下吧
    2021-08-08
  • python自动发送测试报告邮件功能的实现

    python自动发送测试报告邮件功能的实现

    这篇文章主要介绍了python自动发测试报告邮件功能的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-01-01
  • Python项目 基于Scapy实现SYN泛洪攻击的方法

    Python项目 基于Scapy实现SYN泛洪攻击的方法

    今天小编就为大家分享一篇Python项目 基于Scapy实现SYN泛洪攻击的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-07-07
  • python学习之matplotlib绘制散点图实例

    python学习之matplotlib绘制散点图实例

    这篇文章主要介绍了python学习之matplotlib绘制散点图实例,具有一定借鉴价值,需要的朋友可以参考下。
    2017-12-12
  • PyCharm远程调试代码配置以及运行参数设置方式

    PyCharm远程调试代码配置以及运行参数设置方式

    这篇文章主要介绍了PyCharm远程调试代码配置以及运行参数设置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-01-01
  • 理解python正则表达式

    理解python正则表达式

    这篇文章主要介绍了python正则表达式,在python中,对正则表达式的支持是通过re模块来支持的,想要了解python正则表达式的朋友可以参考一下
    2016-01-01
  • 谈谈如何手动释放Python的内存

    谈谈如何手动释放Python的内存

    Python不会自动清理这些内存,这篇文章主要介绍了谈谈如何手动释放Python的内存,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
    2016-12-12
  • python 定义给定初值或长度的list方法

    python 定义给定初值或长度的list方法

    今天小编就为大家分享一篇python 定义给定初值或长度的list方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-06-06
  • 用Python爬取某乎手机APP数据

    用Python爬取某乎手机APP数据

    最近爬取的数据都是网页端,今天来教大家如何爬取手机端app数据(本文以ios苹果手机为例,其实安卓跟ios差不多)! 本文将以『某乎』为实战案例,手把手教你从配置到代码一步一步的爬取App数据,需要的朋友可以参考下
    2021-06-06

最新评论