ターンBASE64に埋め込ま値下げローカルの画像

ターンBASE64に埋め込ま値下げローカルの画像

出版値下げブログの記事の時点でパーク、あなたの記事は、ローカルの画像を大量に含まれている場合は、ドラッグ&ドロップ画像を(画像転送ローカルネットワーク絵)非常に面倒になります

私のアプローチは、解放することができBASE64に埋め込まれたローカルの画像にマークダウンし、次にコピーして、庭のブログ値下げエディタに直接貼り付けることです

さりげなく書かれた、光スプレー

import base64
import re
def phtot_base64(address):#将地址为address的图片转为base64字符串
    with open(address,"rb") as photo:
        pb=base64.b64encode(photo.read())
        return str(pb)[2:-1]
target=input("请输入目标markdown文件地址");#例如:"D:\Markdown\Note\Machine learning\误差与噪音.md"(两侧有引号,这也就是你选中md文件,然后shift+右键,复制路径得到的结果)
target=target.replace("\\","/")
target=target[1:-1]
with open(target,"r",encoding="utf-8") as md:#打开目标文件
    transformed=open(target[0:-3]+"_transformed.md","w",encoding="utf-8")#在目标文件同一文件夹地址下产生转换后文件
    for a in md:
        if(re.search("!\[[^]]*\].*",a)):#匹配到图片格式
            address=re.search("(?<=\()[^\)]*",a).group().replace("\\","/")#提取图片地址并且将反斜杠转换为斜杠
            if not(re.match("data",address) or re.match("http",address)):#确定是本地图片
                temp="![avatar](data:image/png;base64,"+phtot_base64(address)+")"#将图片格式转为base64格式
                a=re.sub("!\[[^]]*\]\([^)]*\)",temp,a)#替换base64格式图片到源字符串
        transformed.write(a)#写入一行
    transformed.close()

おすすめ

転載: www.cnblogs.com/redo19990701/p/11441958.html