python实现批量修改文件名代码

 更新时间:2017年09月10日 09:18:03   作者:_昭昭_   我要评论

本文给大家分享的是一段仅仅10行代码就实现了批量修改文件名的python脚本,推荐给大家,有需要的小伙伴可以参考下

我曾以为,写脚本是很难的,直到我遇到了Python

前言随着国内版权意识的跟进,很多影视音乐资源开始收费,而且度盘又经常随意封杀各种资源,所以,为了保护资源,老司机们越来越倾向于把资源下载到本地,但随着本地资源量的增多,资源管理就成了一件比较头疼的事情;对于资源的管理,方法有很多,我比较喜欢为资源起一个好记的名字,但改文件名是一件无聊又耗时的事情,所以,一个批量重命名的脚本就变得非常重要.

1.批量添加前缀功能


批量重命名

批量重命名逻辑,分三步:

(1)确定需要命名的文件们
(2)确定新的文件名
(3)改名

逻辑理清,编码就变得很简单了


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行程序,只能批量增加前缀,不能批量移除,不太完善,这是增加了移除前缀功能的源码


添加/移除

上图源码:

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搜索路径

    Python探索之修改Python搜索路径

    这篇文章主要介绍了Python探索之修改Python搜索路径,具有一定参考价值,需要的朋友可以了解下。
    2017-10-10
  • Python实现生成随机数据插入mysql金沙国际官网的方法

    Python实现生成随机数据插入mysql金沙国际官网的方法

    这篇文章主要介绍了Python实现生成随机数据插入mysql金沙国际官网的方法,涉及Python随机字符串生成及金沙国际官网连接、插入等相关操作技巧,需要的朋友可以参考下
    2017-12-12
  • 详解Python中for循环的使用方法

    详解Python中for循环的使用方法

    这篇文章主要介绍了Python中for循环的使用方法,是Python入门中的基础知识,需要的朋友可以参考下
    2015-05-05
  • python脚本实现分析dns日志并对受访域名排行

    python脚本实现分析dns日志并对受访域名排行

    这篇文章主要介绍了python脚本实现分析dns日志并对受访域名排行,本文是在Windows服务器环境中实现,需要的朋友可以参考下
    2014-09-09
  • 用Python编写一个基于终端的实现翻译的脚本

    用Python编写一个基于终端的实现翻译的脚本

    这篇文章主要介绍了用Python编写一个基于终端的实现翻译的脚本,代码基于Python2.x,需要的朋友可以参考下
    2015-04-04
  • Python入门_条件控制(详解)

    Python入门_条件控制(详解)

    下面小编就为大家带来一篇Python入门_条件控制(详解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-05-05
  • Python使用遗传算法解决最大流问题

    Python使用遗传算法解决最大流问题

    这篇文章主要为大家详细介绍了Python使用遗传算法解决最大流问题,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-01-01
  • Python星号*与**用法分析

    Python星号*与**用法分析

    这篇文章主要介绍了Python星号*与**用法,结合实例形式较为详细的分析了Python中的星号*与**在函数参数及数值运算中的相关使用技巧,需要的朋友可以参考下
    2018-02-02
  • python实现按行切分文本文件的方法

    python实现按行切分文本文件的方法

    这篇文章主要介绍了python实现按行切分文本文件的方法,涉及Python利用shell命令操作文本文件的相关技巧,需要的朋友可以参考下
    2016-04-04
  • 一步步教你用Python实现2048小游戏

    一步步教你用Python实现2048小游戏

    相信2048这个游戏对大家来说一定不陌生,下面这篇文章就主要给大家介绍了怎么用Python实现2048小游戏,文中通过注释与示例代码介绍的很详细,相信对大家的理解和学习具有一定的参考借鉴价值,有需要的朋友们一起来看看吧。
    2017-01-01

最新评论