替换文件中的敏感词可以分为以下几个步骤:
- 打开文件,读取文件内容
- 使用正则表达式匹配需要替换的敏感词
- 使用替换函数将匹配的敏感词替换成指定的字符
- 将替换后的文本写入文件中
下面是两个代码示例来说明这个过程:
代码示例一:替换单个文件中的敏感词
import re
# 定义敏感词列表
sensitive_words = ['敏感词1', '敏感词2', '敏感词3']
# 定义替换字符
replace_char = '*'
# 定义文件路径
file_path = 'test.txt'
# 打开文件,读取文件内容
with open(file_path, 'r', encoding='utf-8') as f:
content = f.read()
# 使用正则表达式匹配需要替换的敏感词,并进行替换
for word in sensitive_words:
pattern = re.compile(word, re.I) # re.I表示不区分大小写
content = pattern.sub(replace_char * len(word), content)
# 将替换后的文本写入文件中
with open(file_path, 'w', encoding='utf-8') as f:
f.write(content)
上述代码中,我们首先定义了敏感词列表,替换字符和文件路径。然后打开文件,读取文件内容。接着使用正则表达式匹配需要替换的敏感词,并进行替换。最后将替换后的文本写入文件中。
代码示例二:批量替换文件夹中的所有文件的敏感词
import os
import re
# 定义敏感词列表
sensitive_words = ['敏感词1', '敏感词2', '敏感词3']
# 定义替换字符
replace_char = '*'
# 遍历文件夹中的所有文件
for root, dirs, files in os.walk('../folder_path'):
for file_name in files:
if file_name.endswith('.txt'):
# 组合文件路径
file_path = os.path.join(root, file_name)
# 打开文件,读取文件内容
with open(file_path, 'r', encoding='utf-8') as f:
content = f.read()
# 使用正则表达式匹配需要替换的敏感词,并进行替换
for word in sensitive_words:
pattern = re.compile(word, re.I) # re.I表示不区分大小写
content = pattern.sub(replace_char * len(word), content)
# 将替换后的文本写入文件中
with open(file_path, 'w', encoding='utf-8') as f:
f.write(content)
上述代码中,我们首先定义了敏感词列表,替换字符和需要遍历的文件夹路径。然后遍历文件夹中的所有文件,选择文件名以.txt
为后缀的文件。组合文件路径,打开文件,读取文件内容。接着使用正则表达式匹配需要替换的敏感词,并进行替换。最后将替换后的文本写入文件中。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python如何替换文件中的敏感词 - Python技术站