抽取幸运观众python

问题遇到的现象和发生背景

(1)录入幸运观众的编号、姓名和手机号码等信息保存在文件 中;(2)随机选取3位幸运观众,并把他的姓名和手机号码打印出来。注意这三位幸运观众不能重复。
(3)将抽取到的3位幸运观众信息保存到另一个文件中。
(4)退出系统

问题相关代码,请勿粘贴截图
运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果
dirname = r'C:\Users\Administrator\Desktop'
import random

filename =dirname + "\person.txt"
filename_new =dirname + "\person_new.txt"

def input_info(n): 
    with open(filename, 'w', encoding = 'utf-8') as f :
        for i in range(n):        
            code, name , phone = input("输入编号,姓名,手机号(空格隔开):").split()
            f.write(code + ',' + name + ',' + phone + '\n')
def read_info(): 
    with open(filename, 'r', encoding ='utf-8') as f:
        datas = [i.strip().split(",") for i in f]
        res = random.sample(datas, 3)
    return res

def select_info() :           
    result = read_info()
    print("三名幸运观众为:")
    for i in result:        
        print(','.join(i))

def out_info(res): 
    with open(filename_new, 'w', encoding = 'utf-8') as f:
        for i in res:
            f.write(','.join(i) + '\n')
            
if __name__ == '__main__':
    print("I.请录入幸运观众信息!")
    print("S.抽取幸运观众,并输出!")
    print("O.将抽取的信息输出!")
    print("Q.退出系统")
    while 1:
        s = input(">>>")
        if s == "I":
            input_info(5)
            print("录入成功!")
        elif s == 'S':
            select_info()
        elif s == 'O':
            res = read_info()
            out_info(res)
            print("信息输出成功!")
        elif s == "Q":
            print("退出系统!")
            break

需要可视化界面吗?


#!/usr/bin/python3
import random

audients = []
# 打开观众信息文件
with open("audiences.txt") as lines:
    for line in lines:
        num,name,phone = line.split()
        audients.append([num,name,phone])
lucklyAudiensts = set()
while len(lucklyAudiensts) != 3:
    #随机取三位观众在列表audients的下标
    lucklyAudiensts.add(random.randint(0,len(audients)-1))
#print(lucklyAudiensts)
#输出幸运观众到luckly.txt文件
fw = open("luckly.txt",'w')
for luckly in lucklyAudiensts:
    fw.writelines(' '.join(audients[luckly]))
    fw.write('\n')
fw.close()