Python报错SyntaxError:unexpected EOF while parsing的解决办法

 更新时间:2022年07月15日 16:18:07   作者:来知晓  
在运行或编写一个程序时常会遇到错误异常,这时python会给你一个错误提示类名,告诉出现了什么样的问题,下面这篇文章主要给大家介绍了关于Python报错SyntaxError:unexpected EOF while parsing的解决办法,需要的朋友可以参考下

报错现象

File "<string>", line 1
SyntaxError: unexpected EOF while parsing

提示EOF(END OF FILE),即预期外的文件截止符。这个报错可能问题有:

1)代码中()未配对

2)读取的string文件内容不符合函数使用规范

分析解决

小规模代码中,可以利用二分法快速定位,不断切分代码模块,打印或查看关键变量是否符合预期,从而找到出现问题的代码,确定具体哪行报错。

举例:

Y = []
print('debug...')
print(str1)
for data in str1:
    val = eval(data)
    Y.append(val)

假设,debug……过程中,发现在7行处开始异常返回并报错。

首先,检验输入变量str1,是否符合预设:全为string类型的科学计数法字符串。如符合,再单步观察函数运行结果。str1打印结果如下:

['0.000000000000000e+00', '0.000000000000000e+00', '0.000000000000000e+00', '\n']

显然,不符合预期,即原字符串切割后,末尾的换行符也被放入了进来,无法转换为数字,导致报错。

找到原因,于是就可以在倒数第一个项截止即可,从而就不会有异常字符串输入到eval()中,导致报错。

Y = []
print('debug...')
print(str1)
for i in range(len(str1) - 1):
    Y.append(eval(str1[i]))

输出正常,打工搞成。

补充:一些python最重要的内建异常类名

  • AttributeError:属性错误,特性引用和赋值失败时会引发属性错误
  • NameError:试图访问的变量名不存在
  • SyntaxError:语法错误,代码形式错误
  • Exception:所有异常的基类,因为所有python异常类都是基类Exception的其中一员,异常都是从基类Exception继承的,并且都在exceptions模块中定义。
  • IOError:一般常见于打开不存在文件时会引发IOError错误,也可以解理为输出输入错误
  • KeyError:使用了映射中不存在的关键字(键)时引发的关键字错误
  • IndexError:索引错误,使用的索引不存在,常索引超出序列范围,什么是索引
  • TypeError:类型错误,内建操作或是函数应于在了错误类型的对象时会引发类型错误
  • ZeroDivisonError:除数为0,在用除法操作时,第二个参数为0时引发了该错误
  • ValueError:值错误,传给对象的参数类型不正确,像是给int()函数传入了字符串数据类型的参数。

总结

到此这篇关于Python报错SyntaxError:unexpected EOF while parsing解决的文章就介绍到这了,更多相关SyntaxError: unexpected EOF while parsing内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python3中关于cookie的创建与保存

    Python3中关于cookie的创建与保存

    今天小编就为大家分享一篇关于Python3中关于cookie的创建与保存的文章,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-10-10
  • python开发之函数定义实例分析

    python开发之函数定义实例分析

    这篇文章主要介绍了python开发之函数定义方法,以实例形式较为详细的分析了Python中函数的定义与使用技巧,需要的朋友可以参考下
    2015-11-11
  • 如何使用python写截屏小工具

    如何使用python写截屏小工具

    这篇文章主要介绍了如何使用python写截屏小工具,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-09-09
  • PaddleOCR 识别表情包文字示例详解

    PaddleOCR 识别表情包文字示例详解

    这篇文章主要为大家介绍了PaddleOCR 识别表情包文字示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-08-08
  • 学生信息管理系统Python面向对象版

    学生信息管理系统Python面向对象版

    这篇文章主要为大家详细介绍了学生信息管理系统Python面向对象版,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-01-01
  • python列表中remove()函数的使用方法详解

    python列表中remove()函数的使用方法详解

    这篇文章主要给大家介绍了关于python列表中remove()函数的使用,以及Python列表的remove方法的注意事项,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2021-12-12
  • YOLOv5改进之添加CBAM注意力机制的方法

    YOLOv5改进之添加CBAM注意力机制的方法

    注意力机制最先被用在NLP领域,Attention就是为了让模型认识到数据中哪一部分是最重要的,为它分配更大的权重,获得更多的注意力在一些特征上,让模型表现更好,这篇文章主要给大家介绍了关于YOLOv5改进之添加CBAM注意力机制的相关资料,需要的朋友可以参考下
    2022-11-11
  • Python时区设置方法与pytz查询时区教程

    Python时区设置方法与pytz查询时区教程

    这篇文章主要介绍了Python时区设置的方法和pytz查询时区的方法,大家参考使用吧
    2013-11-11
  • PyCharm最新激活码(2020/10/27全网最新)

    PyCharm最新激活码(2020/10/27全网最新)

    Pycharm最新激活码全网最新(2020/10/27更新),适用Intellij idea 2020.2.x,WebStorm 2020.2.x,Pycharm 2020.2.x
    2020-10-10
  • 使用Eclipse如何开发python脚本

    使用Eclipse如何开发python脚本

    这篇文章主要为大家详细介绍了使用Eclipse开发python脚本的相关方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-04-04

最新评论