slhjynvl 2022-05-28 15:56 采纳率: 73.3%
浏览 42
已结题

这个错误是什么意思?

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

这个错误是什么意思?

问题相关代码,请勿粘贴截图
def delete():
    while True:
        studeng_id=input('请输入你要删除的学生id:')
        if studeng_id!='':
            if os.path.exists(filename):
                with open(filename,'r',encoding='utf-8')as rfile:
                    studeng_old=rfile.readline()
            else:
                studeng_old=[]
            flag=False
            if studeng_old:
                with open(filename,'w',encoding='utf-8') as wfile:
                    d={}
                    for item in studeng_old:
                        d=dict(eval(item))
                        if d['id']!=studeng_id:
                            wfile.write(str(d)+'\n')
                        else:
                            flag=True
                    if flag:
                        print(f'id为{studeng_id}的学生已被删除!')
                    else:
                        print(f'没有找到id为{studeng_id}的学生!')

运行结果及报错内容
Traceback (most recent call last):
  File "C:\Users\1\PycharmProjects\pythonProject4\venv\Scripts\stusystem.py", line 123, in <module>
    main()
  File "C:\Users\1\PycharmProjects\pythonProject4\venv\Scripts\stusystem.py", line 23, in main
    delete()
  File "C:\Users\1\PycharmProjects\pythonProject4\venv\Scripts\stusystem.py", line 89, in delete
    d=dict(eval(item))
  File "<string>", line 1
    {
    ^
SyntaxError: '{' was never closed

我的解答思路和尝试过的方法

上面说语法错误,可我找不要89行的代码哪里有误

我想要达到的结果
  • 写回答

1条回答 默认 最新

  • __程序喵__ 2022-05-28 20:24
    关注

    你这里使用了eval,而传的参是"{"
    注意,你使用for来遍历studeng_old,而这个变量是从文件读过来的,类型是str,根据这段代码推测可能是一个在字符串中的字典。
    你应该先直接把这个studeng_old给eval,然后遍历。
    还有命名是不是写错了 student_old应该是

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 6月21日
  • 已采纳回答 6月13日
  • 创建了问题 5月28日

悬赏问题

  • ¥15 CST仿真别人的模型结果仿真结果S参数完全不对
  • ¥15 误删注册表文件致win10无法开启
  • ¥15 请问在阿里云服务器中怎么利用数据库制作网站
  • ¥60 ESP32怎么烧录自启动程序
  • ¥50 html2canvas超出滚动条不显示
  • ¥15 java业务性能问题求解(sql,业务设计相关)
  • ¥15 52810 尾椎c三个a 写蓝牙地址
  • ¥15 elmos524.33 eeprom的读写问题
  • ¥15 用ADS设计一款的射频功率放大器
  • ¥15 怎么求交点连线的理论解?