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发送和接收邮件
Sep 27 Python
Python网络编程详解
Oct 31 Python
Python tkinter事件高级用法实例
Jan 31 Python
Python实现读取字符串按列分配后按行输出示例
Apr 17 Python
python  文件的基本操作 菜中菜功能的实例代码
Jul 17 Python
Python操作列表常用方法实例小结【创建、遍历、统计、切片等】
Oct 25 Python
Django 自动生成api接口文档教程
Nov 19 Python
Python计算公交发车时间的完整代码
Feb 12 Python
Python中无限循环需要什么条件
May 27 Python
python递归函数用法详解
Oct 26 Python
基于python的opencv图像处理实现对斑马线的检测示例
Nov 29 Python
python中的时区问题
Jan 14 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
Jquery iframe内部出滚动条
2010/02/11 Javascript
js判断客户端是iOS还是Android等移动终端的方法
2013/12/11 Javascript
解决jquery版本冲突的有效方法
2014/09/02 Javascript
js继承call()和apply()方法总结
2014/12/08 Javascript
node.js中的path.resolve方法使用说明
2014/12/08 Javascript
自己动手写的jquery分页控件(非常简单实用)
2015/10/28 Javascript
JS生成某个范围的随机数【四种情况详解】
2016/04/20 Javascript
在线引用最新jquery文件的实现方法
2016/08/26 Javascript
基于JS实现翻书效果的页面切换样式
2017/02/16 Javascript
jQuery中内容过滤器简单用法示例
2018/03/31 jQuery
分享vue里swiper的一些坑
2018/08/30 Javascript
NodeJS服务器实现gzip压缩的示例代码
2018/10/12 NodeJs
基于layui的下拉列表的数据回显方法
2019/09/24 Javascript
vue使用screenfull插件实现全屏功能
2020/09/17 Javascript
python网络编程学习笔记(二):socket建立网络客户端
2014/06/09 Python
Python入门篇之条件、循环
2014/10/17 Python
详解python脚本自动生成需要文件实例代码
2017/02/04 Python
Python实现一个转存纯真IP数据库的脚本分享
2017/05/21 Python
Python中模块pymysql查询结果后如何获取字段列表
2017/06/05 Python
Python网络爬虫与信息提取(实例讲解)
2017/08/29 Python
基于Python中numpy数组的合并实例讲解
2018/04/04 Python
Python使用爬虫抓取美女图片并保存到本地的方法【测试可用】
2018/08/30 Python
python实现字符串完美拆分split()的方法
2019/07/16 Python
django-filter和普通查询的例子
2019/08/12 Python
TensorFlow2.0矩阵与向量的加减乘实例
2020/02/07 Python
基于python 等频分箱qcut问题的解决
2020/03/03 Python
Django 如何使用日期时间选择器规范用户的时间输入示例代码详解
2020/05/22 Python
python进度条显示-tqmd模块的实现示例
2020/08/23 Python
美国名牌太阳镜折扣网站:Eyedictive
2017/05/15 全球购物
英国和爱尔兰最大的地毯零售商:Kukoon
2018/12/17 全球购物
EJB包括(SessionBean,EntityBean)说出他们的生命周期,及如何管理事务的?
2013/02/17 面试题
房产公证书范本
2014/04/10 职场文书
保险公司客户经理岗位职责
2015/04/09 职场文书
2016特色励志班级口号
2015/12/24 职场文书
新员工入职感言范文!
2019/07/04 职场文书
用Python编写简单的gRPC服务的详细过程
2021/07/04 Python