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 如何能达到用ping0.cc检测成这样?如图
  • ¥15 关于#DMA固件#的问题,请各位专家解答!
  • ¥15 matlab生成的x1图不趋于稳定,之后的图像是稳定的水平线
  • ¥15 请问华为OD岗位的内部职业发展通道都有哪些,以及各个级别晋升的要求
  • ¥20 微信小程序 canvas 问题
  • ¥15 系统 24h2 专业工作站版,浏览文件夹的图库,视频,图片之类的怎样删除?
  • ¥15 怎么把512还原为520格式
  • ¥15 MATLAB的动态模态分解出现错误,以CFX非定常模拟结果为快照
  • ¥15 求高通平台Softsim调试经验
  • ¥15 canal如何实现将mysql多张表(月表)采集入库到目标表中(一张表)?