,前期域名从heson.xyz更换到heson10.com,好多图片链接需要重新更换,这里记录了由Python优雅地帮助我们快速更换markdown文件字符的一次过程。
简介 python真的是太万能了,直接上效果图:
食用方法 首页得要安装python的环境,这个网上教程一大堆,自行出门左拐找度娘。
直接上代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 import osimport reimport timedef modify_md_content (top) : for root, dirs, files in os.walk(top, topdown=False ): for file_name in files: file_name_split = file_name.split('.' ) try : if file_name_split[-1 ] == 'md' : md_file_path = os.path.join(root, '.' .join(file_name_split)) copy_md_file_path = os.path.join(root, '.' .join([f'{file_name_split[0 ]} _copy' , file_name_split[1 ]])) with open(md_file_path, 'r' , encoding='utf8' ) as fr, \ open(copy_md_file_path, 'w' , encoding='utf8' ) as fw: data = fr.read() data = re.sub('https://pic.heson.xyz/img/' , 'https://pic.heson10.com/img/' , data) fw.write(data) os.remove(md_file_path) os.rename(copy_md_file_path, md_file_path) print(f'{md_file_path} done...' ) time.sleep(0.5 ) except FileNotFoundError as e: print(e) time.sleep(0.5 ) if __name__ == '__main__' : top = r'D:\hexo\source\_posts' modify_md_content(top)
其中由三个变量需要自己修改:
1.https://pic.heson.xyz/img/
这是原来的字符
2.https://pic.heson10.com/img/
这是用来替换的字符
3.D:\hexo\source\_posts
这是系统中markdown文件存放的位置
写在后面 当然,举一反三,这个不仅能用来替换连续的字符,再加上一点修改,利用正则表达式,替换正括号%note, %反括号
等这样一些标签元素,理论上也是可行的。