python实现批量修改文件名代码


Posted in Python onSeptember 10, 2017

我曾以为,写脚本是很难的,直到我遇到了Python

前言随着国内版权意识的跟进,很多影视音乐资源开始收费,而且度盘又经常随意封杀各种资源,所以,为了保护资源,老司机们越来越倾向于把资源下载到本地,但随着本地资源量的增多,资源管理就成了一件比较头疼的事情;对于资源的管理,方法有很多,我比较喜欢为资源起一个好记的名字,但改文件名是一件无聊又耗时的事情,所以,一个批量重命名的脚本就变得非常重要.

1.批量添加前缀功能

python实现批量修改文件名代码

批量重命名

批量重命名逻辑,分三步:

(1)确定需要命名的文件们
(2)确定新的文件名
(3)改名

逻辑理清,编码就变得很简单了

python实现批量修改文件名代码
10行代码

上图源码:

# 导入python内置的os模块和sys模块
import os
import sys

# 程序入口
if __name__ == "__main__":
  # 获取需要添加的前缀
  pre = input("请输入需要添加的前缀:")
  # 为了美观,为前缀添加一个中括号
  mark = "[%s]"%pre
  # 获取本目录下所有的文件名
  old_names = os.listdir()
  # 遍历目录下的文件名
  for old_name in old_names:
    # 跳过本脚本文件
    if old_name != sys.argv[0]:
      # 用新的文件名替换旧的文件名
      os.rename(old_name, mark+old_name)

2.(扩展)添加移除前缀功能:

上面的10行程序,只能批量增加前缀,不能批量移除,不太完善,这是增加了移除前缀功能的源码

python实现批量修改文件名代码
添加/移除

上图源码:

import os
import re
import sys

def add_mark():
  pre = input("请输入需要添加的前缀:")
  mark = "[%s]"%pre
  old_names= os.listdir()
  for old_name in old_names:
    if old_name != sys.argv[0]:
      os.rename(old_name, mark+old_name)

def remove_mark():
  old_names= os.listdir()
  for old_name in old_names:
    try:
      result = re.match(r"(^\[.*\])(.*)", old_name).group(2)
      rm = old_name

      if result:
        os.rename(old_name, result)
      print("已为%s移除前缀"%rm)
    except Exception as e:
      pass

def main():
  while True:
    option = int(input("请选择功能数值:\n1.添加前缀\n2.删除前缀\n3.退出程序\n"))
    if option == 1:
      add_mark()
    elif option == 2:
      remove_mark()
    else:
      exit()

if __name__ == "__main__":
  main(

后记:

python是一门简洁强大的语言,随着人工智能的兴起,python也会变得越来越受人们的重视,你有什么理由不爱上python呢?

Python 相关文章推荐
python实现哈希表
Feb 07 Python
详解Python编程中基本的数学计算使用
Feb 04 Python
python安装模块如何通过setup.py安装(超简单)
May 05 Python
在Python中使用gRPC的方法示例
Aug 08 Python
Django Rest framework权限的详细用法
Jul 25 Python
pytorch中的embedding词向量的使用方法
Aug 18 Python
OpenCV+Python--RGB转HSI的实现
Nov 27 Python
python手写均值滤波
Feb 19 Python
Python3 socket即时通讯脚本实现代码实例(threading多线程)
Jun 01 Python
Python如何telnet到网络设备
Feb 18 Python
tensorflow2.0教程之Keras快速入门
Feb 20 Python
Django实现简单的分页功能
Feb 22 Python
python中利用队列asyncio.Queue进行通讯详解
Sep 10 #Python
Python上下文管理器和with块详解
Sep 09 #Python
Python使用asyncio包处理并发详解
Sep 09 #Python
Python协程的用法和例子详解
Sep 09 #Python
python利用dir函数查看类中所有成员函数示例代码
Sep 08 #Python
Python使用回溯法子集树模板解决爬楼梯问题示例
Sep 08 #Python
Python使用回溯法子集树模板获取最长公共子序列(LCS)的方法
Sep 08 #Python
You might like
现磨咖啡骗局!现磨咖啡=新鲜咖啡?现磨咖啡背后的猫腻你不懂!
2019/03/28 冲泡冲煮
PHP爆绝对路径方法收集整理
2012/09/17 PHP
php实现对两个数组进行减法操作的方法
2015/04/17 PHP
Laravel的Auth验证Token验证使用自定义Redis的例子
2019/09/30 PHP
PHP大文件分割分片上传实现代码
2020/12/09 PHP
基于Jquery的标签智能验证实现代码
2010/12/27 Javascript
JavaScript中具名函数的多种调用方式总结
2014/11/08 Javascript
js打造数组转json函数
2015/01/14 Javascript
jquery插件bootstrapValidator表单验证详解
2016/12/15 Javascript
js实现城市级联菜单的2种方法
2017/06/23 Javascript
浅谈FastClick 填坑及源码解析
2018/03/02 Javascript
vue如何将v-for中的表格导出来
2018/05/07 Javascript
layer.open关闭父窗口 以及调用父页面的方法
2018/08/17 Javascript
浅谈layer的Icon样式以及一些常用的layer窗口使用方法
2019/09/11 Javascript
layuiAdmin循环遍历展示商品图片列表的方法
2019/09/16 Javascript
python3反转字符串的3种方法(小结)
2019/11/07 Python
Python任务调度利器之APScheduler详解
2020/04/02 Python
Python opencv相机标定实现原理及步骤详解
2020/04/09 Python
详解python中的异常捕获
2020/12/15 Python
CheapTickets泰国:廉价航班,查看促销价格并预订机票
2019/12/28 全球购物
波兰品牌鞋履在线商店:Eastend.pl
2020/01/11 全球购物
Perfume’s Club美国官网:西班牙第一家在线美容店
2020/06/10 全球购物
分厂厂长岗位职责
2013/12/29 职场文书
电厂厂长岗位职责
2014/01/02 职场文书
关于赌博的检讨书
2014/01/24 职场文书
销售顾问岗位职责
2014/02/25 职场文书
预备党员的自我评价
2014/03/12 职场文书
责任担保书范文
2014/05/21 职场文书
离婚协议书怎样才有法律效力
2014/10/10 职场文书
优化经济发展环境工作总结
2015/08/11 职场文书
2016年教师节感言
2015/12/09 职场文书
初中数学课堂教学反思
2016/02/17 职场文书
2017年大学生寒假社会实践活动总结
2016/04/06 职场文书
解决python存数据库速度太慢的问题
2021/04/23 Python
Windows下用Nginx配置https服务器及反向代理的问题
2021/09/25 Servers
基于angular实现树形二级表格
2021/10/16 Javascript