请问大家关于’‘SyntaxError: unexpected EOF while parsing’‘这个问题怎么解决呢

请问大家关于’‘SyntaxError: unexpected EOF while parsing’‘这个问题怎么解决呢?
查到用使用eval()时不能传入空字符串,但是我这个系统第一次执行时候还没有信息录入那肯定要是空字符串啊?
于是我尝试着先写入一个再加上这个,就成功了,但是不能只有这一个办法把


```python
    def load_student(self):
        try:
            f = open('student.data', 'r')  # 尝试只读文件
        except:
            f = open('student.data', 'w')  # 没有则新建
        else:
            data = f.read()  # data是字符串
            # 注意使用eval()时不能传入空字符串
            new_list = eval(data)  # 内部为字典数据,需要转换为对象再存储到学员列表
            # [for i in new_list]列表推导式  Student()创建对象
            self.student_list = [Student(i['name'], i['gender'], i['tel']) for i in new_list]
        finally:
            f.close()

```

做个判断吧


def load_student(self):
    try:
        f = open('student.data', 'r')  # 尝试只读文件
    except:
        f = open('student.data', 'w')  # 没有则新建
    else:
        data = f.read()  # data是字符串
        # 注意使用eval()时不能传入空字符串
        if data:
            new_list = eval(data)  # 内部为字典数据,需要转换为对象再存储到学员列表
            # [for i in new_list]列表推导式  Student()创建对象
            self.student_list = [Student(i['name'], i['gender'], i['tel']) for i in new_list]
        else:
            pass
    finally:
        f.close()