title: 批量修改文件后缀tags: argparse,IO
批量修改文件后缀
本例子使用Python的os模块和 argparse模块,将工作目录work_dir下所有后缀名为old_ext的文件修改为后缀名为new_ext
通过本例子,大家将会大概清楚argparse模块的主要用法。
导入模块
import argparseimport 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)
点击下方链接,关注【Python与算法社区】一键获取273篇原创学习笔记
相信很多小盆友们遇到过需要对某一批文件进行批量重命名的情况,比较常见的是图片、照片、视频之类的。见过很多人在解决这些问题时专门找专用软件,什么RAR啊,ACDSEE之类的。 今天就告诉大家一个非常简...
网络推广的人对邮件群发应该都不陌生,或多或少的都接触过或者自己尝试过。 99%的人都因为效果不好或者发送不出去放弃了,其实邮件群发做为性价比较高的推广方式,如果使用的好效果还是很明显的。 下面...
有时候翻看自己的朋友圈,觉得那时候太幼稚想要删除掉,但想翻回几年前动态又太麻烦了。其实有一个非常方便的删除查找方法。 我们点开微信的首页,点击上面的搜索,点击朋友圈,输入自己的微信号,这样自己的...
每天分享自己每天学习干货,分享每天所见所闻,做一个有思考,有深度的人,我们移动互联网时代,最怕的就是没有自己的思维,没有自己的想法,今天我给大家分享,目前很火的一个日加上万粉丝的技巧,网上很多人卖这个...
说说是一个很开放的交流平台,一般在qq好友之间。年少轻狂时在qq里发表了太多说说,现在懂事了是不是发现那都是脑残的回忆?急着想要删除不想让其他人看见,那应该怎么一键删除或者一键就让所有人看不到呢?下面...
8月25日阿里云域名交易平台域名展示页功能上线! 现在,只要您的域名发布了域名展示页,就可以通过浏览器地址栏输入域名访问,直接展示域名出售信息!省去了自己设置解析,搭建空间的烦恼! 能上线! 今...