老卫带你学---python实现修改文件夹下所有文件名称

在我们很多数据处理时,需要对文件夹下的文件重命名,经过学习和探索,老卫有了下面的脚本。

#-*- coding:utf-8 -*-
#作者:卫毅然
#联系邮箱:2205492446@qq.com
#该脚本用于将目标目录下的png格式的文件重命名
import os
import re
import argparse
import fileinput

parse=argparse.ArgumentParser()
parse.add_argument('-p','--path')
args=parse.parse_args()
path=args.path

# path='/home/hades/文档/DDSM_pictures/DDSM_Dataset/normals/normal_01/case0018/case0004'

def all_path(dirname):

    result = []

    for maindir, subdir, file_name_list in os.walk(dirname):

        print("1:",maindir) #当前主目录
        print("2:",subdir) #当前主目录下的所有目录
        print("3:",file_name_list)  #当前主目录下的所有文件

        for filename in file_name_list:
            if os.path.splitext(filename)[1]=='.png':   #判断后缀是否为png
                print os.path.splitext(filename)[0]
                get_filename=os.path.splitext(filename)[0]
                filter_filename=re.findall(r'(.+?)\.',get_filename)   #因为老卫的文件名因为某种原因是XXX.XXX.XXX,需要将前两个提取出来,所以大家可以根据自身的需要修改中间的代码
                new_filename=filter_filename[0]+'.'+filter_filename[1]+'.png'
                print new_filename
                print filter_filename
                os.rename(path+'/'+filename,path+'/'+new_filename)   #修改文件名
            # if os.path.splitext(filename)[]

        # for filename in file_name_list:
        #     apath = os.path.join(maindir, filename)#合并成一个完整路径
        #     result.append(apath)

    return result

print(all_path(path))

上面的脚本用于将目标文件夹下的png文件的文件名重命名,大家可以根据自身的需求对中间的代码进行修改。另外为了满足自动化需求,老卫重新写了一个自动化运行脚本,用于自动运行寻找目录,然后运行该重命名脚本。

# -*- coding:utf-8 -*-
#作者:卫毅然
#联系邮箱:2205492446@qq.com
#该脚本用于自动化使用rename_pngfile.py脚本,因为原脚本需要针对每一个文件夹依次输入,耗时耗力
import os
path='/home/hades/文档/DDSM_pictures/DDSM_Dataset/normals/normal_01' #以case上层文件夹为路径,根据不同情况进行替换,比如cancer_01;normal_01等等
dirs=os.listdir(path)  #列出目标文件夹下所有目录名称
for dir in dirs:   #循环输入转化命令.
    if dir != '.idea':
        print dir
        directory_path='/home/hades/文档/DDSM_pictures/DDSM_Dataset/normals/normal_01/%s' % (dir)
        print directory_path
        os.system('python rename_pngfile.py -p %s' % (directory_path))

这样就可以实现自动化对特定类型的文件重命名。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值