Python
Python开发
Python语言
运用python实现提取文章title重命名
最近整理文章,发现以前的post都是随便命名的如图:
这不行啊,既不美观又不方便,所以我决定要将文件夹重命名。
第一步:批量简易重命名
因为我发现文件的命名毫无章法,所以第一步先全选然后F2,就可以一键改名了
然后按一下enter:
当然这样的文件还不能满足我们。
我们新建一个xlsx,然后根据命名规则输入到A1里,然后点住右下角往下拖就好,然后将你想要命名的文件名输入到B里。
第二步:提取文件名
如果只是想简易命名的同学可以跳过这一步直接看第三步,这一步是针对文章里有你想要的文件名/title想要将其提取出来的同学准备的。
我的post内容如图所示:
第二行就是title,可以不用遍历正则化了,如果你的title不固定的话可以采用findall函数的正则化匹配查找然后提取,在这里我就不多提了。
提取文件名代码如下:
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运行。
成功~
内容来源于网络,如有侵权请联系客服删除