python批量修改文件后缀

****环境:****python3.5 ****/**** Mac

****功能:****
1. 修改目标目录下指定后缀的文件(包含子目录)
2. 修改目标目录下所有文件后缀(包含子目录)
3. 修改目标目录下所有无后缀文件(包含子目录)

#coding:utf-8
import os

'''
def rename(dirpath, oldext, newext):
    for roots, dirs, files in os.walk(dirpath):        
        for name in files:
            if name.endswith(oldext):      
                curdir = os.getcwd()            
                os.chdir(roots)             
                os.rename(name, os.path.splitext(name)[0] + newext)                
                os.chdir(curdir)

rename('/Users/black3y/Desktop/1/','.txt','.py')
'''

def filerename(filepath,srctype,destype):
    for path,dirlist,filelist in os.walk(filepath):
        for file in filelist:

            #防止文件名中包含.
            fullist = file.split('.')
            namelist = fullist[0:-1]
            filename = ''
            for i in namelist:
                filename = filename + i + '.' 
            # print (filename)

            curndir = os.getcwd()    #获取当前路径
            # print (curndir)

            os.chdir(path)            #设置当前路径为目标目录
            newdir = os.getcwd()    #验证当前目录
            # print (newdir)

            filetype = file.split('.')[-1]    #获取目标文件格式

            if filetype == srctype:    #修改目标目录下指定后缀的文件(包含子目录)
                os.rename(file,filename+destype)

            if srctype == '*':        #修改目标目录下所有文件后缀(包含子目录)
                os.rename(file,filename+destype)

            if srctype == 'null':    #修改目标目录下所有无后缀文件(包含子目录)
                if len(fullist) == 1:
                    os.rename(file,file+'.'+destype)

            os.chdir(curndir)    #回到之前的路径

filerename('/Users/black3y/Desktop/1/','txt','py')

Paste_Image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 原文: https://wiki.python.org/moin/Python2orPython3 在项目开发中,...
    林湾村龙猫阅读 9,484评论 0 6
  • 版权声明:本文为博主原创文章,未经博主允许不得转载。 PS:转载请注明出处作者:TigerChain地址:http...
    TigerChain阅读 5,174评论 0 7
  • 环境管理管理Python版本和环境的工具。p–非常简单的交互式python版本管理工具。pyenv–简单的Pyth...
    MrHamster阅读 9,240评论 1 61
  • 获悉你是医生,我就想到白云,你如云朵洁白,带给众生安宁 。 凝望你的眼睛,明亮聪慧安静,不受凡尘烦忧,仿佛九天女神...
    澎湃简报阅读 1,345评论 0 3
  • 回想自己四十几年的人生路感到无比的彷徨和迷茫,不知道自己为什么自己生在这个世界上也不知道自己为什么活着。因为生活没...
    灬北风江上寒阅读 3,780评论 38 27