ITPub博客

首页 > IT职业 > IT生活 > 【python-致用】为嫖掘金月更奖品,我用刚学的python做了个批量文件内容替换

【python-致用】为嫖掘金月更奖品,我用刚学的python做了个批量文件内容替换

IT生活 作者:专注的阿熊 时间:2022-10-10 11:00:09 0 删除 编辑

# -*- 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/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2019-08-23

  • 博文量
    410
  • 访问量
    276782