python重命名文件excel_运用python实现提取文章title重命名

本文介绍了如何利用Python进行批量文件重命名,首先通过简易方式初步重命名,然后提取文章内容中的标题作为新的文件名。通过读取文件、正则表达式提取标题,最后使用Excel函数组合新文件名并生成批处理文件执行重命名操作。
摘要由CSDN通过智能技术生成

最近整理文章,发现以前的post都是随便命名的如图:

这不行啊,既不美观又不方便,所以我决定要将文件夹重命名。

第一步:批量简易重命名#

因为我发现文件的命名毫无章法,所以第一步先全选然后F2,就可以一键改名了

然后按一下enter:

当然这样的文件还不能满足我们。

我们新建一个xlsx,然后根据命名规则输入到A1里,然后点住右下角往下拖就好,然后将你想要命名的文件名输入到B里。

第二步:提取文件名#

如果只是想简易命名的同学可以跳过这一步直接看第三步,这一步是针对文章里有你想要的文件名/title想要将其提取出来的同学准备的。

我的post内容如图所示:

第二行就是title,可以不用遍历正则化了,如果你的title不固定的话可以采用findall函数的正则化匹配查找然后提取,在这里我就不多提了。

提取文件名代码如下:

Copy

import os import io import re #encoding:utf-8 file_dir = 'E://sd//blog//1' #文件目录(注意反斜杠要打两个) d=[] #新建一个列表存储title def titlere(file): with io.open(os.path.join(file_dir, file), "r", encoding="utf-8", errors='ignore') as f: f.readline() #跳过第一行 d.append(f.readline()) #把第二行append进列表 # 遍历目录下文件 for folder, subFolder, filenames in os.walk(file_dir): print(file_dir) for filename in range(1,42):#匹配文件 print(os.path.splitext("p (filename).md")[1]) batch_replace("p ({}).md".format(filename)) print("{} 提取成功".format(filename)) #将title储存到txt中 f = open('title.txt','w') for i in range(len(d)): f.writelines(str(d[i])+"\n") f.close()

将txt中的标题粘贴到B列(如果你的txt有空行的话运用notepad++去除空行功能去除):

第三步:运用excel函数#

不得不表扬一下excel的强大功能,在C列第一行上面的函数框输入:

="ren "&A1&" "&B1&".md"

然后拖住右下角往下拉:

注意:文件名里不要有空格,否则ren命令会将空格部分中断,判定成两部分,用替换将空格删除

然后将C列复制到你想要重命名目录中的txt中(另存为utf-8否则会乱码),后缀修改为bat运行。

成功~

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值