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 08 Python
基于Python实现一个简单的银行转账操作
Mar 06 Python
Python判断某个用户对某个文件的权限
Oct 13 Python
Python实现在线暴力破解邮箱账号密码功能示例【测试可用】
Sep 06 Python
tensorflow实现对图片的读取的示例代码
Feb 12 Python
Ubuntu下Python2与Python3的共存问题
Oct 31 Python
pycharm中使用anaconda部署python环境的方法步骤
Dec 19 Python
python 实现在tkinter中动态显示label图片的方法
Jun 13 Python
python 应用之Pycharm 新建模板默认添加编码格式-作者-时间等信息【推荐】
Jun 17 Python
关于python中plt.hist参数的使用详解
Nov 28 Python
Python实现七个基本算法的实例代码
Oct 08 Python
详解在OpenCV中如何使用图像像素
Mar 03 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
PHP 的比较运算与逻辑运算详解
2016/05/12 PHP
微信第三方登录(原生)demo【必看篇】
2017/05/26 PHP
jquery1.4 教程二 ajax方法的改进
2010/02/25 Javascript
Ajax局部更新导致JS事件重复触发问题的解决方法
2014/10/14 Javascript
不同编码的页面表单数据乱码问题解决方法
2015/02/15 Javascript
C++中的string类的用法小结
2015/08/07 Javascript
自己动手写的javascript前端等待控件
2015/10/30 Javascript
关于动态执行代码(js的Eval)实例详解
2016/08/15 Javascript
jQuery实现鼠标选中文字后弹出提示窗口效果【附demo源码】
2016/09/05 Javascript
js实现模糊匹配功能
2017/02/15 Javascript
EsLint入门学习教程
2017/02/17 Javascript
js模拟微博发布消息
2017/02/23 Javascript
jQuery图片切换动画效果
2017/02/28 Javascript
node通过express搭建自己的服务器
2017/09/30 Javascript
Vue2.5 结合 Element UI 之 Table 和 Pagination 组件实现分页功能
2018/01/26 Javascript
解决npm安装Electron缓慢网络超时导致失败的问题
2018/02/06 Javascript
详解基于Wepy开发小程序插件(推荐)
2019/08/01 Javascript
vue实现PC端分辨率适配操作
2020/08/03 Javascript
javascript实现页面的实时时钟显示示例
2020/08/06 Javascript
Python3 jupyter notebook 服务器搭建过程
2018/11/30 Python
python图像处理入门(一)
2019/04/04 Python
Softmax函数原理及Python实现过程解析
2020/05/22 Python
无需压缩软件,用python帮你操作压缩包
2020/08/17 Python
丝芙兰美国官网:SEPHORA美国
2016/08/03 全球购物
英国森林假期:Forest Holidays
2021/01/01 全球购物
倡议书格式范文
2014/04/14 职场文书
《第一朵杏花》教学反思
2014/04/16 职场文书
网络营销策划方案
2014/06/04 职场文书
普通党员整改措施
2014/10/24 职场文书
2014年超市员工工作总结
2014/11/18 职场文书
刑事和解协议书范本
2014/11/19 职场文书
2014年禁毒工作总结
2014/11/24 职场文书
世界气象日活动总结
2015/02/27 职场文书
2015秋季幼儿园开学通知
2015/07/16 职场文书
Mysql使用全文索引(FullText index)的实例代码
2022/04/03 MySQL
解决Mysql报错 Table 'mysql.user' doesn't exist
2022/05/06 MySQL