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判断IP地址合法性的方法实例
Mar 13 Python
python实现的一个p2p文件传输实例
Jun 04 Python
python调用Moxa PCOMM Lite通过串口Ymodem协议实现发送文件
Aug 15 Python
python类装饰器用法实例
Jun 04 Python
python正则表达式的使用
Jun 12 Python
python实现决策树分类
Aug 30 Python
OpenCV 模板匹配
Jul 10 Python
python使用pip安装SciPy、SymPy、matplotlib教程
Nov 20 Python
利用pytorch实现对CIFAR-10数据集的分类
Jan 14 Python
python手写均值滤波
Feb 19 Python
python time()的实例用法
Nov 03 Python
Pandas 稀疏数据结构的实现
Jul 25 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
linux环境apache多端口配置虚拟主机的方法深入介绍
2013/06/09 PHP
PHP中使用hidef扩展代替define提高性能
2015/04/09 PHP
PHP多进程编程实例详解
2017/07/19 PHP
编写自己的jQuery插件简单实现代码
2011/04/19 Javascript
在新窗口打开超链接的方法小结
2013/04/14 Javascript
鼠标拖动实现DIV排序示例代码
2013/10/14 Javascript
禁止IE用右键的JS代码
2013/12/30 Javascript
图片放大镜jquery.jqzoom.js使用实例附放大镜图标
2014/06/19 Javascript
node+express+jade制作简单网站指南
2014/11/26 Javascript
jquery实现的仿天猫侧导航tab切换效果
2015/08/24 Javascript
JS右下角广告窗口代码(可收缩、展开及关闭)
2015/09/04 Javascript
《JavaScript高级编程》学习笔记之object和array引用类型
2015/11/01 Javascript
浅谈jquery选择器 :first与:first-child的区别
2016/11/20 Javascript
jQuery弹出窗口打开链接的实现代码
2016/12/24 Javascript
完美解决node.js中使用https请求报CERT_UNTRUSTED的问题
2017/01/08 Javascript
jQuery源码分析之init的详细介绍
2017/02/13 Javascript
原生js实现简单的Ripple按钮实例代码
2017/03/24 Javascript
网页中的图片查看器viewjs使用方法
2017/07/11 Javascript
JavaScript如何获取到导航条中HTTP信息
2017/10/10 Javascript
vue.js实现简单轮播图效果
2017/10/10 Javascript
jQuery获取随机颜色的实例代码
2018/05/21 jQuery
vue.js中使用echarts实现数据动态刷新功能
2019/04/16 Javascript
[01:01:52]DOTA2-DPC中国联赛定级赛 SAG vs iG BO3第二场 1月9日
2021/03/11 DOTA
Python模拟百度登录实例详解
2016/01/20 Python
python 平衡二叉树实现代码示例
2018/07/07 Python
Python多进程原理与用法分析
2018/08/21 Python
python pcm音频添加头转成Wav格式文件的方法
2019/01/09 Python
PythonWeb项目Django部署在Ubuntu18.04腾讯云主机上
2019/04/01 Python
处理python中多线程与多进程中的数据共享问题
2019/07/28 Python
Pycharm修改python路径过程图解
2020/05/22 Python
css3圆角边框和边框阴影示例
2014/05/05 HTML / CSS
Stuart Weitzman美国官网:美国奢华鞋履品牌
2016/08/18 全球购物
俄罗斯香水在线商店:AromaCode
2019/12/04 全球购物
前厅部经理岗位职责范文
2014/02/04 职场文书
运动会通讯稿500字
2014/02/20 职场文书
婚宴致辞
2015/07/28 职场文书