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创建日历实例
Aug 21 Python
python读写二进制文件的方法
May 09 Python
简单解析Django框架中的表单验证
Jul 17 Python
利用Python将时间或时间间隔转为ISO 8601格式方法示例
Sep 05 Python
python模块之time模块(实例讲解)
Sep 13 Python
python实现微信小程序自动回复
Sep 10 Python
python如何获取当前文件夹下所有文件名详解
Jan 25 Python
python 使用递归回溯完美解决八皇后的问题
Feb 26 Python
浅谈Django QuerySet对象(模型.objects)的常用方法
Mar 28 Python
python numpy库np.percentile用法说明
Jun 08 Python
python如何实现读取并显示图片(不需要图形界面)
Jul 08 Python
Python 全局空间和局部空间
Apr 06 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
在“咖啡之国”感受咖啡文化
2021/03/03 咖啡文化
?生?D片??C字串
2006/12/06 PHP
php项目打包方法
2008/02/18 PHP
ajax php 实现写入数据库
2009/09/02 PHP
浅析PHP安装扩展mcrypt以及相关依赖项(PHP安装PECL扩展的方法)
2013/07/05 PHP
浅谈Laravel模板实体转义带来的坑
2019/10/22 PHP
javascript 另一种图片滚动切换效果思路
2012/04/20 Javascript
js window.onload 加载多个函数和追加函数详解
2014/01/08 Javascript
使用Javascript写的2048小游戏
2015/11/25 Javascript
理解JavaScript中worker事件api
2015/12/25 Javascript
基于jquery实现即时检查格式是否正确的表单
2016/05/06 Javascript
全面了解JavaScript对象进阶
2016/07/19 Javascript
Javascript中常见的逻辑题和解决方法
2016/09/17 Javascript
node.js请求HTTPS报错:UNABLE_TO_VERIFY_LEAF_SIGNATURE\的解决方法
2016/12/18 Javascript
jQuery插件zTree实现更新根节点中第i个节点名称的方法示例
2017/03/08 Javascript
Validform验证时可以为空否则按照指定格式验证
2017/10/20 Javascript
vue中本地静态图片路径写法
2018/03/06 Javascript
js比较两个单独的数组或对象是否相等的实例代码
2019/04/28 Javascript
js回调函数原理与用法案例分析
2020/03/04 Javascript
查看Python安装路径以及安装包路径小技巧
2015/04/28 Python
Python浅拷贝与深拷贝用法实例
2015/05/09 Python
Python常用知识点汇总
2016/05/08 Python
Selenium 模拟浏览器动态加载页面的实现方法
2018/05/16 Python
Python实现计算文件MD5和SHA1的方法示例
2019/06/11 Python
flask框架配置mysql数据库操作详解
2019/11/29 Python
关于win10在tensorflow的安装及在pycharm中运行步骤详解
2020/03/16 Python
python操作微信自动发消息的实现(微信聊天机器人)
2020/07/14 Python
Python-split()函数实例用法讲解
2020/12/18 Python
h5调用摄像头的实现方法
2016/06/01 HTML / CSS
美国山地自行车、露营、户外装备和服装购物网站:Aventuron
2018/05/05 全球购物
Madewell澳大利亚官方网站:美国休闲服饰品牌
2019/07/18 全球购物
幼师自我鉴定范文
2013/10/01 职场文书
作风建设剖析材料
2014/10/06 职场文书
在校证明模板
2015/06/17 职场文书
使用Pytorch训练two-head网络的操作
2021/05/28 Python
68行Python代码实现带难度升级的贪吃蛇
2022/01/18 Python