使用python批量替换修改文件名

命令运行方式:

python formatRourcename.py @3x

替换掉当前文件夹下或者子文件下的文件名中的@3x


python formatRourcename.py -fup @3x @2x

替换掉当前文件夹下或者子文件下的文件名中的@3x、@2x,并将文件名变为大写


python formatRourcename.py -flow @3x @2x

替换掉当前文件夹下或者子文件下的文件名中的@3x、@2x,并将文件名变为小写


以下为脚本源码:

#!/usr/bin/python
# coding=utf-8
import os
import sys

SWITCHCHAR=1
PYFILENAME="formatRourcename.py"
ORFUP="-fup"
ORLOW="-flow"

#递归遍历文件夹,筛选符合要求的文件,并执行替换重命名
def listfiles(root,arg):
    global SWITCHCHAR #设定全局变量标志
    global PYFILENAME
    for dir in os.listdir(root):
        filepath=root+"/"+dir
        if os.path.isdir(filepath):
            listfiles(filepath,arg)
        else:
            # file name (with extension)
            src_apk_file_name = os.path.basename(dir)
            if PYFILENAME==src_apk_file_name:#不修改本脚本文件
                continue
            #检查文件名称格式
            isIn=arg in dir
            if isIn==True:
                dir=dir.replace(arg,"")
            
            if SWITCHCHAR==1:
                if isIn==True:
                    os.rename(filepath,root+"/"+dir)
                    print filepath+"-->"+dir
                continue

            if SWITCHCHAR==2:
                dir=dir.upper()//全部大写
            if SWITCHCHAR==3:
                dir=dir.lower()//全部小写
            os.rename(filepath,root+"/"+dir)//重命名文件
            print filepath+"-->"+dir

#定义主函数,接收命令行参数
# -fup 替换所有小写字符
# -flow 替换所有大写字符
def main(argv):
     global SWITCHCHAR
     global PYFILENAME
     length=len(argv)
     n=1 #从第二个参数开始,第一个参数是当前脚本文件名
     while n<length:
        if argv[n]==ORFUP:
            SWITCHCHAR=2
            if length==2:
                listfiles(".","")#只执行字符变大命令
        else:
            if argv[n]==ORLOW:
                SWITCHCHAR=3
                if length==2:
                    listfiles(".","")#只执行字符变小命令
            else:
                listfiles(".",argv[n])
        n=n+1
        
if __name__ == '__main__':
    main(sys.argv)


脚本下载地址:http://download.csdn.net/detail/zhangbuzhangbu/9576446

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值