python 批量重命名文件_实例39_用Python批量重命名文件

今天,我们来整理文件夹中的文件,给某个文件夹下的所有文件重新命名。要求是给所有文件按照修改时间,按顺序在文件名前面加上编号。比如将文件资料.xlsx重命名为1. 资料.xlsx

import os

def Get_modify_time(file):
return os.path.getmtime(file) #获取文件修改时间

path='文件' #文件所在文件夹
files = [path+"\\"+i for i in os.listdir(path)] #获取文件夹下的文件名,并拼接完整路径
files.sort(key=Get_modify_time) #以文件修改时间为依据升序排序

files
>>
['文件\\资料.xlsx',
'文件\\文档.txt',
'文件\\说明.docx',
'文件\\演示文稿 - v1.pptx',
'文件\\演示文稿.pptx']

以上,我们先导入os模块,用于处理文件及目录等。然后定义了一个函数,用于获取文件的修改时间,以便后续通过文件修改时间来进行排序编号。然后获取文件夹下的文件名的完整路径,存入列表files,并调用Get_modify_time函数将列表中的元素按文件修改时间排序。不然系统会自动按字母顺序(汉字按首字的拼音字母顺序)排序。可以看到files已储存文件文件夹下的所有5个文件。

seq = 1 #计数器,从1开始
for file in files:
os.rename(file, os.path.join(path, str(seq) + ". "+ file.split("\\")[-1])) #重命名文件
seq += 1

随后就可以批量重命名文件了。由于我们的目的是给文件加编号,从1开始,所以要先定义一个计数器seq,初始值设为1,每重命名一个文件就增加1。然后遍历所有待命名的文件,使用os.rename()按要求进行重命名操作。os.rename()有两个参数,分别代表当前的文件名和重命名后的文件名。比如os.rename("A","B")就表示将名字为A的文件命名为B。os.path.join()用于拼接文件路径,比如如下操作,它自动将'文件'和"abc.docx"按照路径的方式拼接起来了。

os.path.join('文件',"abc.docx")
>>
'文件\\abc.docx'

程序运行完成后,结果如下。

738b9e95ffd078f8a221705c4658f88d.png

如果您有需要处理的问题,可发邮件到我邮箱:donyo@qq.com,一起探讨解决方案。

微信公众号(Python操作Office软件高效工作)输入“源文件”提取所有源文件及资料。

d32b2cb57decb055d92dcdcd7c808d79.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值