Python同目录文件批量重命名

import os, os.path

'''**************************************************************************
根据src_dir的文件重命名dest_dir目录下的文件, src_dir与dest_dir文件数最好相同
***************************************************************************'''
def RenameDir(src_dir, dest_dir):

    dest_file_list = os.listdir(dest_dir)

    i = 0
    for file in os.listdir(src_dir):
        source_file = os.path.join(src_dir, file)


        dest_file = os.path.join(dest_dir, dest_file_list[i])
        print(dest_file)
        i = i + 1

        os.rename(dest_file, dest_dir + file)

'''**************************************************************************
自动填充文件名, eg: “小破孩.mp4” -> "小破孩0001.mp4"
***************************************************************************'''
def AutoFillFileName(src_dir):
    i = 0
    for file in os.listdir(src_dir):
        #if have desktop.ini skip it, it is windows hide file
        if file == r'desktop.ini' :
            continue

        i = i + 1

        #fill   填充字符
        #align  '>'填充右边  '<'填充左边  '^'填充两边
        #5      填充个数
        fill_str = '{0:{fill}{align}5}'.format(i, fill=0, align=r'>')

        source_file = os.path.join(src_dir, file)
        if os.path.exists(source_file) is False:
            print(source_file + r' : is not exist')
        base_name = os.path.splitext(file)[0]        
        suffix = os.path.splitext(file)[1]
        new_name = base_name + fill_str + suffix

        dest_file = source_dir + new_name
        print(dest_file)
        os.rename(source_file, dest_file)

'''**************************************************************************
截取文件名, eg: “小破孩0001.mp4” -> "小破孩.mp4"
***************************************************************************'''
def SubFileName(src_dir):
    for file in os.listdir(source_dir):
        #if have desktop.ini skip it, it is windows hide file
        if file == r'desktop.ini' :
            continue

        source_file = os.path.join(source_dir, file)
        if os.path.exists(source_file) is False:
            print(source_file + r' : is not exist')

        base_name = os.path.splitext(file)[0]
        #删除base_name最后5个字符
        base_name = base_name[:-5]

        suffix = os.path.splitext(file)[1]
        new_name = base_name + suffix

        dest_file = source_dir + new_name
        print(dest_file)
        os.rename(source_file, dest_file)


'''**************************************************************************
                              main
***************************************************************************'''
if __name__ == '__main__':

    CopyDir(r'E:/新建文件夹/', r'E:/新建文件夹1/')
    #RenameDir(r'E:/新建文件夹/', r'E:/新建文件夹1/')

    source_dir = r'E:/新建文件夹1/'
    if os.path.exists(source_dir) is False:
        source_dir = os.path.dirname(__file__) + r'/'
    print(source_dir)

    #AutoFillFileName(source_dir)
    #SubFileName(source_dir)


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值