typora assets文件夹瘦身

编程入门 行业动态 更新时间:2024-10-12 03:26:19

typora assets<a href=https://www.elefans.com/category/jswz/34/1771393.html style=文件夹瘦身"/>

typora assets文件夹瘦身

typora assets文件夹瘦身

程序作用

typora编辑器设置本地图片保存路径为 {filename}.assets 之后,复制黏贴的图片会自动保存在这个 {filename}.assets。问题来了,复制文件,图片会自动保存到assets文件夹,并在markdown文件产生该图片链接语法![](),但是删除、修改markdown中的图片链接语句,并不会删除assets删除图片,这导致了经常assets文件夹会产生很大的无用图片,本地上是没什么的,但是上传到github等平台就很麻烦,毕竟图片很大,是markdown存储的一个痛点。这个python文件就是读取markdown文件,搜索文件的 ![]() 图片引用,并且删除assets文件夹不会被引用的图片。

源代码

markdown_pic.py
python markdown_pic.py test.md

import re
import os
import sys# 获取文件的绝对路径并将其转化为linux形式的路径
def parse_path(path: str):# os.path.exists(path)if not os.path.isfile(path):print("file {0} is not exist".format(path))exit(-1)path = os.path.abspath(path)regex = repile(r"\\+")path = re.split(regex, path)path = '/'.join(path)index = path.rfind("/")file_name = path[index + 1:]dir_name = path[0:index + 1]return dir_name, file_namedef delete_useless_markdown_pic(path: str):dir_name, file_name = parse_path(path)with open(path, "r", encoding="utf-8") as f:s = f.readlines()s = "".join(s)# .*? 匹配符号内的所有字符#  markdown内容提取results_img = re.findall(r'!\[.*?\]\((.*?)\)', s)  # 提最述与rulresults_src = re.findall(r'<img\s*(.*?)\s*/>', s)print("url img")print(results_src)set_pic = set()set_asset = set()asset = file_name.split(".")[0] + ".assets"asset_path = dir_name + assetfor result in results_img:if result.split("/")[0] == asset:set_pic.add(result.split("/")[-1])for result in results_src:result = result.split("alt")[0].strip().split("=")[-1].strip().strip('"')if result.split("/")[0] == asset:set_pic.add(result.split("/")[-1])if len(set_pic) == 0:returnprint(set_pic)dirs = os.listdir(asset_path)for i in dirs:set_asset.add(i)set_delete = set_asset - set_picfor i in set_delete:os.remove(asset_path + "/" + i)if __name__ == '__main__':if len(sys.argv) != 2:print("usage like this:python markdown_pic.py xx.md")exit(-1)markdown = sys.argv[1]dirname, filename = parse_path(markdown)print(dirname)print(filename)delete_useless_markdown_pic(markdown)

注意

本地测试过,ok!用户不放心的话可以先备份,在测试

更多推荐

typora assets文件夹瘦身

本文发布于:2024-02-06 02:25:16,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1745565.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:文件夹   瘦身   typora   assets

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!