更新時(shí)間:2021-08-12 13:01:58 來源:動(dòng)力節(jié)點(diǎn) 瀏覽1355次
背景:日志中有打印出明文密碼,需要將密碼不分替換為*
關(guān)鍵語句就一條:
re.sub(r'--password .? ', '--password * ', line)
用途是,找到--password關(guān)鍵字,然后替換后面兩個(gè)空格之間的內(nèi)容為
import re
def log_mask(self):
raw_file = self.LOG_PATH + self.logfile_name + '_tmp.log'
mask_file = self.LOG_PATH + self.logfile_name + '.log'
with open(raw_file, "r", encoding="utf-8") as f1, open(mask_file, "w", encoding="utf-8") as f2:
for line in f1:
f2.write(re.sub(r'--password .*? ', '--password * ', line))
os.remove(raw_file)
如果打算用相同的模式執(zhí)行重復(fù)替換,可以考慮先將模式編譯以獲得更好的性能。
實(shí)例:
import re
text='今天是:11/28/2018'
datepat=re.compile(r'(\d+)/(\d+)/(\d+)')
print(datepat.sub(r'\3-\1-\2',text))
print(text)
實(shí)例2
把大于兩個(gè)以上的換行替換為兩個(gè)換行
pat = re.compile(r'\n\n+')
result = pat.sub('\n\n', result)
以上就是動(dòng)力節(jié)點(diǎn)小編介紹的"什么是消息隊(duì)列",希望對(duì)大家有幫助,想了解更多可查看Java在線學(xué)習(xí)。動(dòng)力節(jié)點(diǎn)在線學(xué)習(xí)教程,針對(duì)沒有任何Java基礎(chǔ)的讀者學(xué)習(xí),讓你從入門到精通,主要介紹了一些Java基礎(chǔ)的核心知識(shí),讓同學(xué)們更好更方便的學(xué)習(xí)和了解Java編程,感興趣的同學(xué)可以關(guān)注一下。
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
有基礎(chǔ) 直達(dá)就業(yè)
業(yè)余時(shí)間 高薪轉(zhuǎn)行
工作1~3年,加薪神器
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問老師會(huì)電話與您溝通安排學(xué)習(xí)
初級(jí) 202925
初級(jí) 203221
初級(jí) 202629
初級(jí) 203743