实验6 文件应用编程-2
task 3
1 def is_valid(m): 2 if len(m)==18 and m.isdigit(): 3 return '合法' 4 elif len(m)==18 and m[-1]=='X': 5 return '合法' 6 else: 7 return '不合法' 8 9 with open('data3_id.txt','r',encoding = 'utf-8') as f: 10 data = f.readlines() 11 list = [] 12 for i in data: 13 data_ = i.strip('\n') 14 if is_valid(data_[3:]) == '合法': 15 list.append(data_) 16 list.sort(key=lambda x: x[9:13]) 17 for m in list: 18 print('{},{}-{}-{}'.format(m[:2],m[9:13],m[13:15],m[15:17]))
task 5_1
1 import random 2 import datetime 3 t = datetime.datetime.now() 4 m = eval(input('输入随机抽点人数:')) 5 with open('data5.txt', encoding = 'utf-8') as f: 6 data = f.readlines() 7 list = [] 8 for i in range(m): 9 x = random.choice(data) 10 list.append(x) 11 data.remove(x) 12 filename = t.strftime('%Y%m%d') + '.txt' 13 with open(filename, "w+", encoding="utf-8") as f: 14 f.writelines(list) 15 f.seek(0) 16 print(f.read())
task 5_2
1 import random 2 import datetime 3 t = datetime.datetime.now() 4 print("{0:{1}{3}{2}}".format("抽点开始", "=", 40, "^")) 5 list_ = [] 6 while True: 7 n = eval(input("输入随机抽点人数: ")) 8 if n == 0: 9 break 10 else: 11 with open("data5.txt", encoding="utf-8") as f: 12 data = f.readlines() 13 list = [] 14 for i in range(n): 15 x = random.choice(data) 16 list.append(x) 17 data.remove(x) 18 with open("20220517.txt", "w+", encoding="utf-8") as f: 19 f.writelines(list) 20 f.seek(0) 21 print(f.read()) 22 list_ += list 23 filename = t.strftime('%Y%m%d') + '.txt' 24 with open(filename, "w", encoding="utf-8") as f: 25 f.writelines(list_) 26 print("{0:{1}{3}{2}}".format("抽点结束", "=", 40, "^"))
实验总结
调取系统时间,格式化等部分操作不够熟练,要加强练习