如何使用argparse模块批量修改文件后缀

如何使用argparse模块批量修改文件后缀?今天番茄加速就来分享argparse模块的主要用法。在这里插入图片描述

导入模块

import argparse

import os

定义脚本参数

def get_parser():

parser = argparse.ArgumentParser(

description=‘工作目录中文件后缀名修改’)

parser.add_argument(‘work_dir’, metavar=‘WORK_DIR’, type=str, nargs=1,

help=‘修改后缀名的文件目录’)

parser.add_argument(‘old_ext’, metavar=‘OLD_EXT’,

type=str, nargs=1, help=‘原来的后缀’)

parser.add_argument(‘new_ext’, metavar=‘NEW_EXT’,

type=str, nargs=1, help=‘新的后缀’)

return parser

后缀名批量修改

def batch_rename(work_dir, old_ext, new_ext):

“”"

传递当前目录,原来后缀名,新的后缀名后,批量重命名后缀

“”"

for filename in os.listdir(work_dir):

# 获取得到文件后缀

split_file = os.path.splitext(filename)

file_ext = split_file[1]

# 定位后缀名为old_ext 的文件

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(“完成重命名”)

print(os.listdir(work_dir))

实现Main

def main():

“”"

main函数

“”"

# 命令行参数

parser = get_parser()

args = vars(parser.parse_args())

# 从命令行参数中依次解析出参数

work_dir = args[‘work_dir’][0]

old_ext = args[‘old_ext’][0]

if old_ext[0] != ‘.’:

old_ext = ‘.’ + old_ext

new_ext = args[‘new_ext’][0]

if new_ext[0] != ‘.’:

new_ext = ‘.’ + new_ext

batch_rename(work_dir, old_ext, new_ext)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值