学生管理系统:装饰器

因为要频繁的打开和关闭文件尝试用装饰器解决

def lead_dir(oldfuction):
    def read_dir():
        studnet = []
        file = open("学生信息", "r", encoding="utf-8")
        for line in file:  # 遍历的同时将字符串变为字典
            studnet.append(eval(line))
        oldfuction()#理论上的要执行的函数
        return studnet
    return read_dir
@read_dir
def delete():
    while True:
        need_del = input("输入要删除的学生id")
        for i in studnet:#遍历列表中的字典
            print(i)
            if i['学号'] == need_del:
                studnet.remove(i)
                print('该学号学生已被删除')
                break
        else:
            print('暂未查到该学生学号')
        answer = input("继续删除?")
        if answer.upper == "Y":
            continue
        else :
            break

我该怎么把student传传到oldfuction

装饰器函数可以有参数呀
def read_dir(oldfuction,param):

@read_dir(param)