今天是我写博客历史上最黑暗的一天

由于我博客中的图片一直是放在了一个公共图床上,这几天我这边加载博客中的图片有点加载不出来,再加上各种因素考虑,打算将我博客中的图片全部转到我自己服务器里面来。

当然,手动一篇一篇找博客中的图片链接,然后上传到自己的服务器的工作量肯定是非常大的。于是我想到了用python这个小助手(确实没想到后来我的工作量更大了?)

我的主要需求就是,找出我博客目录下所有markdown文件中保存在公共图床上的图片链接,然后上传到自己的服务器,获取图片链接,然后替换掉原来的链接。

最后写出来应该是这样的(为了我的api安全就不展示所有代码了)

import os
import re

url = ''# 我的图床api
pattern = re.compile(r'https://s2\S+\.png')# 正则匹配我原来的图床链接

for dirName, subdirList, fileList in os.walk("./"):
    print('Folder: %s' % dirName)
    for fname in fileList:
        if fname != '': # 排除掉一些文件,或只选择md文件
            print("正在处理"+fname+"文件")
            fp = open(dirName+"/"+fname,"r+",encoding='utf-8')
            content = fp.read()
            result = re.findall(pattern,content)
            for imgUrl in result:
                print("检测到图片:"+imgUrl)
                #
                #
                #
                replaceUrl = '' # 上传到自己服务器,获取replaceUrl
                content = content.replace(imgUrl,replaceUrl)
            fp = open(dirName + "/" + fname, "w+", encoding='utf-8')
            fp.write(content)
            print("替换成功")

那么,我犯了个什么错误呢?

for fname in fileList:
    if fname != '': 
        print("正在处理"+fname+"文件")
        fp = open(dirName+"/"+fname,"w+",encoding='utf-8') # w+哦
        content = fp.read()

没错就是要读的时候打开的方式写成了w+

然后就直接运行了?

后果就是哈麻批我markdown源文件全变成空白的了。

然后我就花了几个小时从我网站上一个一个网页地把他们写回markdown源文件。

如果现在某篇博客里有什么错误,很有可能就是我没仔细检查。

真是写博客历史上最黑暗的一天?

原创文章,作者:彭晨涛,如若转载,请注明出处:https://www.codetool.top/article/%e4%bb%8a%e5%a4%a9%e6%98%af%e6%88%91%e5%86%99%e5%8d%9a%e5%ae%a2%e5%8e%86%e5%8f%b2%e4%b8%8a%e6%9c%80%e9%bb%91%e6%9a%97%e7%9a%84%e4%b8%80%e5%a4%a9/

发表评论

电子邮件地址不会被公开。