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中的__init__ 、__new__、__call__小结
Apr 25 Python
跟老齐学Python之编写类之三子类
Oct 11 Python
用Python编写分析Python程序性能的工具的教程
Apr 01 Python
Python中操作符重载用法分析
Apr 29 Python
人机交互程序 python实现人机对话
Nov 14 Python
python代码实现ID3决策树算法
Dec 20 Python
python中csv文件的若干读写方法小结
Jul 04 Python
Python使用gRPC传输协议教程
Oct 16 Python
Pytorch中index_select() 函数的实现理解
Nov 19 Python
Python高级特性——详解多维数组切片(Slice)
Nov 26 Python
python读取excel数据绘制简单曲线图的完整步骤记录
Oct 30 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
在线增减.htpasswd内的用户
2006/10/09 PHP
PHP 读取文件的正确方法
2009/04/29 PHP
php开发文档 会员收费1期
2012/08/14 PHP
关于Zend Studio 配色方案插件的介绍
2013/06/24 PHP
php输出1000以内质数(素数)示例
2014/02/16 PHP
IIS 7.5 asp Session超时时间设置方法
2017/04/17 PHP
PHP后台备份MySQL数据库的源码实例
2019/03/18 PHP
利用javascript移动div层-javascript 拖动层
2009/03/22 Javascript
利用javascript/jquery对上传文件格式过滤的方法
2009/07/25 Javascript
jQuery find和children方法使用
2011/01/31 Javascript
js showModalDialog弹出窗口实例详解
2014/01/07 Javascript
Javascript函数式编程简单介绍
2015/10/11 Javascript
JavaScript模拟鼠标右键菜单效果
2020/12/08 Javascript
JavaScript 实现自己的安卓手机自动化工具脚本(推荐)
2020/05/13 Javascript
weui上传多图片,压缩,base64编码的示例代码
2020/06/22 Javascript
js实现简单音乐播放器
2020/06/30 Javascript
js重写alert事件(避免alert弹框标题出现网址)
2020/12/04 Javascript
[00:57]辉夜杯战队访谈宣传片—VG
2015/12/25 DOTA
Cpy和Python的效率对比
2015/03/20 Python
Python读取word文本操作详解
2018/01/22 Python
python3+PyQt5使用数据库窗口视图
2018/04/24 Python
Python基于Logistic回归建模计算某银行在降低贷款拖欠率的数据示例
2019/01/23 Python
Numpy 理解ndarray对象的示例代码
2020/04/03 Python
关于python 的legend图例,参数使用说明
2020/04/17 Python
python Scrapy爬虫框架的使用
2021/01/21 Python
H5 video poster属性设置视频封面的方法
2020/05/25 HTML / CSS
施华洛世奇韩国官网:SWAROVSKI韩国
2018/06/05 全球购物
硕士研究生自我鉴定范文
2013/12/27 职场文书
库房主管岗位职责
2013/12/31 职场文书
党的群众路线教育实践活动批评与自我批评发言稿
2014/10/16 职场文书
2016年国庆节67周年活动总结
2016/04/01 职场文书
2016年大学生暑期社会实践活动总结
2016/04/06 职场文书
导游词之新疆-喀纳斯
2019/10/10 职场文书
Python中glob库实现文件名的匹配
2021/06/18 Python
在Oracle表中进行关键词搜索的过程
2022/06/10 Oracle
使用Cargo工具高效创建Rust项目
2022/08/14 Javascript