【python-致用】為嫖掘金月更獎品,我用剛學的python做了個批次檔案內容替換

專注的阿熊發表於2022-10-10

# -*- 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 天, [ 點選檢視活動詳情 ]( \"\")\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 ]()", "")

         alter(filename, " 參賽話題: [ 學習筆記 ]()", "")

print(" 已將所有 md 文件替換為掘金 10 月月更版本! ")

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69946337/viewspace-2917522/,如需轉載,請註明出處,否則將追究法律責任。

相關文章