使用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


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

你可能感兴趣的:(python,python,替换修改文件名)