Python 21/10/12 中文文件的操作 遍历 指定删除
根据签名和班级名单,找出
将两份名单,分别导入两个list
版权声明:
* 作者: 子子_Vanessa
* Copyright (C) 2021 10 12
*/python
f_now = open('C:\\UoeWork\\接龙人员.txt', 'rb')
f_all = open('C:\\UseWork\\班级人员1.txt', 'rb')
l_now = []
l_all = []
while True:
line = f_now.readline().decode(encoding='gbk')
if line:
name = list(filter(lambda ch: ch not in ' \t1234567890 .\r\n', line))
name2 = ''
for i in name:
name2 += i
l_now.append(name2)
else:
break
while True:
line = f_all.readline().decode(encoding='gbk')
if line:
name = list(filter(lambda ch: ch not in ' \t1234567890 .\r\n', line))
name2 = ''
for i in name:
name2 += i
l_all.append(name2)
else:
break
f_all.close()
f_now.close()
l_num = [0] * len(l_all)
l_not = []
for name in l_now:
flag = 0
for i in range(0, len(l_all), 1):
if name == l_all[i]:
l_num[i] += 1
flag = 1
if flag == 0:
l_not.append(name)
notSignIn = []
reSignIn = []
for i in range(0, len(l_num), 1):
if l_num[i] == 0:
notSignIn.append(l_all[i])
elif l_num[i] > 1:
reSignIn.append(l_all[i])
print("未签到的同学为:", notSignIn)
print("重复签到的同学为:", reSignIn)
print("不属于本班的同学为:", l_not)