重新指定目录下所有文件名后缀

python_demo_1

重新指定目录下所有文件名后缀

import argparse
import os

def batch_rename(work_dir, old_text, new_text):
    # 传递了当前和新扩展名,他将批量重命名给定目录中的一组文件
    #files = os.listdir(work_dir)
    for filename in os.listdir(work_dir):
        split_file = os.path.splittext(filename)
        file_ext = split_file[1]
        # 开始检查文件扩展名的逻辑
        if old_ext == file_ext: 
        # 返回具有新扩展名的已更改文件名
            newfile =  split_file[0] + new_ext
            # 写文件
            os.rename(
                os.path.join(work_dir, filename),
                os.path.join(work_dir, newfile)
            )
    print('rename is done')
    print('os.listdir(work_dir)')

def get_parser():
    parser = argparse.ArgumentParser(description='change extension of files in a working directory')
    parser.add_argument('work_dir', metavar='WORK_DIR', type=str, nargs=1, help='the directory where to change extension')
    parser.add_argument('old_ext', metavar='OLD_EXT', type=str, nargs=1, help='old extension')
    parser.add_argument('new_ext', metavar='NEW_EXT', type=str, nargs=1, help='new extension')
    return parser

def main():
    parser = get_parser()  # 添加命令行参数
    args = vars(parser.parser_args())
    # 使用传递的第一个参数设置变量work_dir
    work_dir = args['work_dir'][0]
     # 使用传递的第二个参数设置变量old_ext
    old_ext = args['old_ext'][0]
    if old_ext[0] != '.':
        old_ext = '.' + old_ext
     # 使用传递的第三个参数设置变量new_ext
    new_ext = args['new_ext'][0]
    if new_ext[0] != '.':
        new_ext = '.' + new_ext
    
    batch_rename(work_dir, old_ext, new_ext)

if __name__ == '__main__':
    main()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值