实验6 文件应用编程-2

Task3

 1 def is_valid(x):
 2     if len(x) != 18:
 3         return False
 4     else:
 5         for i in x:
 6             try:
 7                 i = int(i)
 8             except:
 9                 if ord(i) != ord('X'):
10                     return False
11         return True
12 
13 with open('实验6/data3_id.txt', 'r', encoding='utf-8')as f:
14     data = f.readlines()
15 
16 data1 = [data[i].rstrip('\n').split(',')for i in range(1,len(data))]
17 
18 data2 = []
19 for i in data1:
20 
21     if is_valid(i[1]) == True:
22         data2.append(i)
23 
24 for i in data2:
25     i[1] = f'{i[1][6:10]}-{i[1][10:12]}-{i[1][12:14]}'
26 
27 data2.sort(key=lambda ele:ele[1])
28 
29 for i in data2:
30     print(','.join(i))

 

 
Task5_1

 1 import random
 2 
 3 n = int(input('输入随机抽点人数:'))
 4 
 5 with open('实验6/data5.txt', 'r', encoding='utf-8')as f:
 6     data = random.sample(f.readlines(), n)
 7 
 8 import datetime
 9 
10 t = datetime.date.today()
11 filename = t.strftime('%Y%m%d') + '.txt'
12 
13 with open(f'实验6/{filename}', 'w+', encoding='utf-8')as f:
14     f.writelines(''.join(data).rstrip('\n'))
15     f.seek(0)
16     print(''.join(f.readlines()))

 

 
Task5_2

 1 while True:
 2     import random
 3     
 4     n = int(input('输入随机抽点人数:'))
 5 
 6     if n == 0:
 7         break
 8         
 9     with open('实验6/data5.txt', 'r', encoding='utf-8')as f:
10         data = random.sample(f.readlines(), n)
11         
12     import datetime
13     
14     try:
15         with open(f'实验6/{filename}', 'r', encoding='utf-8')as f:
16             for i in range(len(data)):
17                 for j in f:
18                     while True:
19                         if data[i] == j:
20                             data[i] = random.sample(f.readlines(), 1)
21                         else:
22                             break
23     except NameError:
24         pass
25                     
26     t = datetime.date.today()
27     filename = t.strftime('%Y%m%d') + '.txt'
28     
29     with open(f'实验6/{filename}', 'a+', encoding='utf-8')as f:
30         f.writelines(''.join(data).rstrip('\n'))
31         print(''.join(data).rstrip('\n'))

 

posted @ 2022-05-22 10:04  Kyle-K  阅读(40)  评论(1)    收藏  举报