# -*- coding: utf-8 -*-
import os
from fnmatch import fnmatch
def alter(file,old_str,new_str):
# """
# 将替换的字符串写到一个新的文件中,然后将原文件删除,新文件改为原来文件的名字
# 小贴士:采用按行匹配,故传入的字符串参数不应包含多行
# :param file: 文件路径
# :param old_str: 需要替换的字符串
# :param new_str: 替换的字符串
# :return: None
# """
with open(file, "r", encoding="utf-8") as f1,open("%s.bak" % file, "w", encoding="utf-8") as f2:
for line in f1:
if old_str in line:
line = line.replace(old_str, new_str)
f2.write(line)
os.remove(file)
os.rename("%s.bak" % file, file)
def add_font(file, text):
# 在开头添加一段字符串
with open(file, "r", encoding="utf-8") as f1,open("%s.bak" % file, "w", encoding="utf-8") as f2:
f2.write(text)
for line in f1:
f2.write(line)
os.remove(file)
os.rename("%s.bak" % file, file)
# 主程序
path = './' # 该 py 脚本所在目录
dirs = os.listdir(path)
num = 1
for filename in dirs:
if(fnmatch(filename, '*.md')):
print(str(num) + ' ' + filename)
num = num + 1
print(' 以上为当前目录下的所有 md 文件,是否继续替换? \n')
input(' 按回车开始替换 ')
for filename in dirs:
if(fnmatch(filename, '*.md')):
print(' 已替换:跟单网gendan5.com '+filename)
add_font(filename, "---\ntheme: healer-readable\n---\n 持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第 N 天, [ 点击查看活动详情 ](https://juejin.cn/post/7147654075599978532 \"https://juejin.cn/post/7147654075599978532\")\n")
alter(filename, "[ 清风莫追 ]", "[CSDN 清风莫追 ]")
alter(filename, " =300x", "")
alter(filename, " =400x", "")
alter(filename, " =500x", "")
alter(filename, "==", "**")
alter(filename, "> 个 ", ">\n> 个 ")
alter(filename, "> 系 ", ">\n> 系 ")
alter(filename, "> 推 ", ">\n> 推 ")
alter(filename, "> 个 ", ">\n> 个 ")
alter(filename, "> 系 ", ">\n> 系 ")
alter(filename, "> 推 ", ">\n> 推 ")
alter(filename, "@[toc]", "")
alter(filename, "[CSDN 话题挑战赛第 2 期 ](https://marketing.csdn.net/p/7b6697fd9dd3795a268d1a6f2fe75012)", "")
alter(filename, " 参赛话题: [ 学习笔记 ](https://activity.csdn.net/creatActivity?id=10213)", "")
print(" 已将所有 md 文档替换为掘金 10 月月更版本! ")
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69946337/viewspace-2917522/ ,如需转载,请注明出处,否则将追究法律责任。