zoukankan      html  css  js  c++  java
  • 运用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])+" ")
    f.close()

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

    第三步:运用excel函数

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

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

    然后拖住右下角往下拉:

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

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

    成功~


    hi 认识一下?

    微信关注公众号:全都是码农 (allmanong)
    你将获得:
    关于人工智能的所有面试问题一网打尽!未来还有思维导图哦!
    回复121 立即获得 已整理好121本python学习电子书
    回复89 立即获得 程序员史诗级必读书单吐血整理四个维度系列89本书。
    回复167 立即获得 机器学习和python学习之路史上整理大数据技术书从入门到进阶最全本(66本)
    回复18 立即获得 数据库从入门到进阶必读18本技术书籍网盘整理电子书(珍藏版)
    回复56 立即获得 我整理的56本算法与数据结构
    未来还有人工智能研究生课程笔记等等,我们一起进步呀!

  • 相关阅读:
    求解整数集合的交集(腾讯笔试)
    关于屏幕适配之比例布局
    (转)注册JNI函数的两种方式
    正则表达式记录
    当年一个简单可用的多线程断点续传类
    最近用到的几个工具方法
    Android中包含List成员变量的Parcel以及Parcel嵌套写法示例
    java实现计算MD5
    一个用于去除状态栏和虚拟导航栏的BaseActivity
    MVP的模板
  • 原文地址:https://www.cnblogs.com/sabai/p/12681397.html
Copyright © 2011-2022 走看看