脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|shell|

服务器之家 - 脚本之家 - Python - 如何使用Python一键修改上万个文件名

如何使用Python一键修改上万个文件名

2022-12-25 14:01放牛娃学编程 Python

各位有没有遇到过需要批量整理多层文件夹结构里各种类型(docx、excel、ppt)的文件材料的时候,下面这篇文章主要给大家介绍了关于如何使用Python一键修改上万个文件名的相关资料,需要的朋友可以参考下

一、头疼的修改文件名,我是傻了

同事问我会不会改目录下的文件名,我大叫一声:你傻呀,你不会右键重命名呀呀,或者按 F2快捷键,但是当我解压完同事的目录后,人都傻了,自己看图哈!!

如何使用Python一键修改上万个文件名

偷偷告诉你,这样的文件有一大堆,如果你右键估计一天才能搞定,顿时我就不敢出声了。

先看同事的需求是什么:帮他去掉类似 **[图灵程序设计丛书].**的词,只留下书名

看到这,请问小伙伴们你是怎么解决的,欢迎留言一起吐槽,哈哈哈哈哈哈。

 

二、茅塞顿开,秒解决同事问题

在我思考如何解决同事这个问题时,我的脑海中突然灵光一闪,之前写过一键修改图片大小的程序,那我为何不也写个程序直接一键修改文件名呢!!!说干就干

考虑到时效性,我用了Python来写这个小程序,欢迎留言交流你的程序:上代码 -->

import os
import re
import time

"""对指定目录下的所有文件进行有选择的修改名称"""
def ReFileName(dirPath,pattern):
  """
  :param dirPath: 文件夹路径
  :param pattern: 正则匹配模式
  :return:
  """
  # 对目录下的文件进行遍历
  for file in os.listdir(dirPath):
      # 判断是否是文件
      if os.path.isfile(os.path.join(dirPath, file)) == True:
          # 用正则匹配,去掉不需要的词
          newName = re.sub(pattern, "", file)
          # 设置新文件名
          newFilename = file.replace(file, newName)
          # 重命名
          os.rename(os.path.join(dirPath, file), os.path.join(dirPath, newFilename))
  print("文件名已统一修改成功")

if __name__ == '__main__':
  timeStart = time.time()
  dirPath = r"F:\test"
  pattern = re.compile(r'\[{1}(.+)]\.')
  ReFileName(dirPath,pattern)
  timeEnd = time.time()
  print("程序走了%d秒"%(timeEnd-timeStart))

代码简要说明一下:

1.因为这里需求只是简单的修改文件名,所以小伙伴们千万不要用open()……这种方法,虽然它也是可以的,但是因为文件太多,读写太慢,时效极低。
2. 还有需要替换或者提取的文件名,不仅限于图中所示,你可以灵活运用正则表达式来达到自己的需求。

看效果:

如何使用Python一键修改上万个文件名

再看程序运行时间:

如何使用Python一键修改上万个文件名

此处是不是应该要有个赞,哈哈哈哈!赶快动起来吧!!!!

这里还分享一个干货给小伙伴们哈!!

python获取当前目录下的一些信息---->

"""获取当前目录下的信息"""
def ReFileName1(dirPath):
  for root, dirs, files in os.walk(dirPath):
      print(root)  # 当前目录路径
      print(dirs)  # 当前路径下所有子目录
      print(files)  # 当前路径下所有非目录子文件

 

总结

到此这篇关于如何使用Python一键修改上万个文件名的文章就介绍到这了,更多相关Python一键修改文件名内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/qiukui111/article/details/106160745

延伸 · 阅读

精彩推荐
  • PythonPython抽象基类的定义与使用方法

    Python抽象基类的定义与使用方法

    这篇文章主要介绍了Python抽象基类的定义与使用方法,Python的抽象基类是指必须让继承它的子类去实现它所要求的抽象方法的类,下面文章内容将详细介绍...

    dongfanger6802022-02-10
  • PythonPython之列表的插入&替换修改方法

    Python之列表的插入&替换修改方法

    今天小编就为大家分享一篇Python之列表的插入&替换修改方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...

    黄橙子4292021-03-11
  • Python在 Python 中创建DataFrame的方法

    在 Python 中创建DataFrame的方法

    这篇文章主要介绍了教你如何在 Python 中创建DataFrame,我们将学习以多种方式创建DataFrame,DataFrame是数据的二维集合,是一种数据结构,其中数据以表格形...

    来西瓜9252022-11-02
  • PythonPython实现滑块拼图验证码详解

    Python实现滑块拼图验证码详解

    验证码作为一种自然人的机器人的判别工具,被广泛的用于各种防止程序做自动化的场景中。传统的字符型验证安全性已经名存实亡的情况下,各种新型的...

    Triumph1910432022-12-19
  • Pythonpython脚本使用阿里云slb对恶意攻击进行封堵的实现

    python脚本使用阿里云slb对恶意攻击进行封堵的实现

    这篇文章主要介绍了python脚本使用阿里云slb对恶意攻击进行封堵的实现,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴...

    reblue5203822021-09-02
  • Pythonpython读取文本绘制动态速度曲线

    python读取文本绘制动态速度曲线

    这篇文章主要为大家详细介绍了python读取文本绘制动态速度曲线,多图同步显示,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    Galileo20176572021-03-07
  • PythonPython 常用内置模块超详细梳理总结

    Python 常用内置模块超详细梳理总结

    模块是一个包含索引你定义的函数和变量的文件,其扩展名为.py。模块可以被其他程序引入,以使用该模块中的函数等功能。这也是使用python标准库的方法...

    hacker7074162022-11-06
  • Python使用python调用zxing库生成二维码图片详解

    使用python调用zxing库生成二维码图片详解

    本篇文章主要介绍了使用python调用zxing库生成二维码图片,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧...

    郭军9912020-09-16