替换文件中的敏感信息
类型:文件处理
描述
假设我们有一份文件(编码格式UTF-8),文件中包含了很多个人隐私信息。
现在需要一份去除其中敏感信息的版本,将文件中所有手机号的4-7位和身份证号的7-14位用 * 替换。
示例: 如果读入文件内容为:
张三
居住地:武汉
身份证号:420111199909091234
手机号:13013013130
输出结果是:
张三
居住地:武汉
身份证号:420111********1234
手机号:130****3130
输入格式
读取附件的文件
输出格式
张三
居住地:武汉
身份证号:420111********1234
手机号:130****3130
示例 1
输入:
文件部分内容:
张三
居住地:武汉
身份证号:420111199909091234
手机号:13013013130
输出:
文件部分内容输出:
张三
居住地:武汉
身份证号:420111********1234
手机号:130****3130
参考答案
infile = 'data.txt'
outfile = 'data_proc.txt'
ls = []
with open(infile,encoding='utf-8') as fr:
for line in fr:
if '身份证号' in line:
ls.append(line.strip()[:11] + '*' * 8 + line.strip()[-4:])
elif '手机号' in line:
ls.append(line.strip()[:7] + '*' * 4 + line.strip()[-4:])
else:
ls.append(line.strip())
for line in ls:
print(line)