python 自动化办公之批量修改文件名实操

目录
  • 1. 程序背景
  • 2. 程序要求
  • 3. 解决思路
  • 4. 完整代码
  • 5. 运行结果
  • 6. 总结

1. 程序背景

之前做文件批量移动的时候不小心多加了一个pdf后缀,但问题不大,几行代码就可以搞定~

2. 程序要求

将以下目录中文件夹中的有问题的文件全部重命名为单个.pdf结尾的文件

3. 解决思路

需要用到 os、re 和 shutil 三个库,均为系统自带,无需安装

  • 使用 os 库得到年份的文件夹名,以及年份文件夹中的文件名
  • 使用正则表达式 re 将“.pdf.pdf”全部替换为“.pdf”
  • 拼接出文件路径后使用 shutil 库 的rename函数进行重命名操作

4. 完整代码

#导入需要的库
import os
import re
import shutil

path = r'E:\课题\wrongfile1729\wrongfile'  #传入文件地址
year_file_li = os.listdir(path) # 得到年份文件夹列表
for year in year_file_li: # 便利所有年份
    year_path = path + '\\' + year # 拼接出年份文件夹的地址
    file_li = os.listdir(year_path) # 得到年份文件夹中的文件名称列表
    for file in file_li: # 遍历每一个年份文件夹中的文件
        wash_name = re.sub('.pdf.pdf', '.pdf', file, re.DOTALL)  # 文件名修改
        old_path = year_path + '\\' + file  # 拼接出旧文件地址
        new_path = year_path + '\\' + wash_name  # 拼接出新文件地址
        shutil.move(old_path, new_path)  # 进行文件重命名操作

5. 运行结果

修改完成~

6. 总结

代码的核心有三点,分别是:

  • os 库得到文件名列表
  • re 库得到新文件名
  • shutil 库对文件进行重命名

到此这篇关于python 自动化办公之批量修改文件名实操的文章就介绍到这了,更多相关python批量修改文件名内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • python批量修改文件名的示例

    今天中午看了一集动漫<进击的巨人>,看完后发现这些视频的名称有点乱,于是编程来批量重命名. 重命名之前的各名称格式为--飞极速[www.feijisu.com][16][720P][CHS-JAP] AVC.mp4,可以看到这个中间是有集数的,因此可以使用正则表达式提取,导入re模块. 然后由于要修改文件名,需要用到os模块. os.listdir(path) 上面这行代码可以将路径path中所有的文件的名称放入一个列表中. os.path.abspath(name) 这行代码可以得到名为na

  • python实现多进程按序号批量修改文件名的方法示例

    本文实例讲述了python实现多进程按序号批量修改文件名的方法.分享给大家供大家参考,具体如下: 说明 文件名命名方式如图,是数字序号开头,但是中间有些文件删掉了,序号不连续,这里将序号连续起来,总的文件量有40w+,故使用多进程 代码 import os import re from multiprocessing import Pool def getAllFilePath(pathFolder,filter=[".jpg",".txt"]): #遍历文件夹下所

  • python实现批量修改文件名

    python3实现批量修改文件名,供大家参考,具体内容如下 以批量修改某文件夹下所有图片名称为例,注释超详细,万能模板,读者可举一反三,适当修改模板,效果显著! #批量修改文件名 #批量修改图片文件名 import os import re import sys def renameall(): fileList = os.listdir(r"C:\Users\Administrator\Desktop\stars") #待修改文件夹 print("修改前:"+st

  • Python批量修改文件名实例操作分享

    此处以修改图片文件名为例,将图片复制到新的目录中再修改名称~ 原始文件名如下: 修改后的效果如下: 代码: 实现将one文件夹中的每一个图片复制到two文件夹并修改图片名为按照a.b.c.d递增排序 思路:重命名为新建一个文件将原来文件内容复制过去 import os   def alterFileName(source,target):     print("当前文件夹下有以下几个文件>>>")     file_list=os.listdir(source)  

  • 视频合并时使用python批量修改文件名的方法

    不知道大家有没有遇到这样的情况,比如视频合并时文件名没有按照正常顺序排列,像这样 可见,文件名排序是乱的.这个样子合并出来的视频一定也是乱的.所以得想办法把文件名修改一下,让软件读取出正确的顺序.闲话少说,上代码. """ 注意:一.文件名除去扩展名必须以 '_' + 数字 结尾.  二.convert.py 放在文件目录.  三.目录中不能有多余文件 主要算法: 根据最大数字的位数添加0 例如,如果最大数字为123,那么位数为3位,  1就要变成001.2变成002.23变

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

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

  • 使用Python批量修改文件名的代码实例

    这两天在整理一些文章,但是文件夹中每个文章没有序号会看起来很乱,所以想着能不能用Python写一个小脚本. 于是乎,参考了多方资料,简单写了下面几行代码 import osdef tekan(): i=1 #为序号赋初值 for old_file in os.listdir('.'): #os.listfir('.')用于获取当前文件夹所有文件名,'.'表示当前文件夹,也可改为目标文件路径 if 'py' not in old_file: #由于脚本文件不需要修改文件名,所以这里做个判断 #ne

  • Python批量修改文件名,文件再多也只要一秒

    目录 一.我为什么要写这篇 二.在原有的名字前中后批量加字 三.所有文件重新命名并添加序号 四.导入Excel数据批量修改为文件名 一.我为什么要写这篇 好兄弟们,妹子要少看,技能要多学,每天一个小技巧,撩妹手段少不了~ 昨天有人问我怎么批量修改文件名,然后我随便写了一种,他说我不nice,这我就忍不住了,反手就给他写了好几种,你们来看看,这个到底刑不刑. 很多兄弟在学习Python的时候因为不太明确学习方向,没有好的学习资料,遇到问题也没人解答,就很难受,甚至可能学着学着就放弃了,直接私我就行

  • python批量修改文件名的三种方法实例

    目录 前言 一.python批量修改文件名 二.python批量修改文件名(按顺序) 三.python批量修改文件名(删除指定字符) 总结 前言 当我们从网站爬取若干张图片,或需要将一些txt.excel.jpg等大批量的文件修改为有规律的名称,方便整理. 提示:以下是本篇文章正文内容,下面案例可供参考 一.python批量修改文件名 提示:待修改的文件夹下只能包含需要修改的文件,然后更改源码里面的路径即可. 1.源码 代码如下(示例): #批量修改文件名 #批量修改图片文件名 import o

  • Python批量修改文件名的方式详解

    目录 批量修改文件名(保留后缀) 批量修改文件名(全改) 读取文件下的所有文件名 总结 批量修改文件名(保留后缀) 这种方法,保留了文件原本的后缀.这里主要演示的是对图片名的修改. # 批量修改文件名 # 批量修改图片文件名 import os import re import sys path = 'F:\Temp\ZZ' fileList = os.listdir(path) # 待修改文件夹 print("修改前:"+str(fileList)) # 输出文件夹中包含的文件 cu

随机推荐