Question 1
编写身份证脱敏程序。身份证脱敏是指将身份证中有关出生年月日的信息,用表示,并将脱敏后的数据保存在文件中。如:350101********1234
。
# -*- coding: utf-8 -*-
# @Time : 2023/5/25 17:15
# @Author : AI悦创
# @FileName: file.py
# @Software: PyCharm
# @Blog :https://bornforthis.cn/
def desensitize_id_no_re(filepath, new_filepath):
with open(filepath, 'r', encoding='utf-8') as f:
lines = f.readlines()
new_lines = []
for line in lines:
if "身份证号" in line:
id_pos = line.index(':')
id_number = line[id_pos + 1:].strip()
desensitized_id = id_number[:6] + '*' * 8 + id_number[-4:]
new_line = line[:id_pos + 1] + desensitized_id + '\n'
new_lines.append(new_line)
else:
new_lines.append(line)
with open(new_filepath, 'w', encoding='utf-8') as f:
for line in new_lines:
f.write(line)
# 调用函数进行脱敏处理
desensitize_id_no_re('sfz.txt', 'sfz_desensitized.txt')