新手求解
完成一个敏感词过滤程序,分别输入待过滤的文件名与保存过滤结果的文件名,将待过滤文件中单独的敏感词
......
转换为等长度
的“*”字符。设待过滤文件和敏感词均为纯英文,需要过滤的
敏感词存放在文件“sensitive.txt”中,每行一个敏感词。 你想说什么,你的困难是什么? import re
def filter(file1, file2, file3):
'''
替换敏感词
file1 待替换文件。
file2 敏感词文件。
file3 保存替换结果的文件。
'''
with open(file1, 'r') as f1:
text = f1.read()# 读取需要过滤的文件。
f2 = open(file2, 'r')# 读取敏感词并进行替换。
while True:
line = f2.readline().strip()
if line:
text = re.sub(line, '*'*len(line), text, re.S)
else:
break
f2.close()
with open(file3, 'w') as f3:
f3.write(text.strip())# 把替换好的文本写入文件。
if __name__ == '__main__':
filter('f1.txt', 'f2.txt', 'f3.txt') # 或者这样好看一点点。
import re
def filter(file1, file2, file3):
'''
替换敏感词
file1 待替换文件。
file2 敏感词文件。
file3 保存替换结果的文件。
'''
# 读取需要过滤的文件。
with open(file1) as f1:
text = f1.read()
# 读取敏感词文件并进行替换。
with open(file2) as f2:
for i in f2:
text = re.sub(i.strip(), '*'*len(i.strip()), text, re.S)
# 把替换好的文本写入文件。
with open(file3, 'w') as f3:
f3.write(text.strip())
if __name__ == '__main__':
filter('f1.txt', 'f2.txt', 'f3.txt')
页:
[1]