欢迎来到山村网

Python EOL while scanning string literal问题解决方法

2019-03-02 12:19:22浏览:914 来源:山村网   
核心摘要:  这篇文章主要介绍了Python EOL while scanning stringliteral问题解决方法,本文总结出是数据库数据出现问题导致这个问题,需

  这篇文章主要介绍了Python EOL while scanning string literal问题解决方法,本文总结出是数据库数据出现问题导致这个问题,需要的朋友可以参考下

  项目中有个定时任务,每天取到一些表数据传到一个外部接口,但是最近总是有异常,今天查了下原因。

  首先本地和测试环境测试这个程序都没问题,只有线上环境会在日志中抛出异常,猜测异常主要产生的原因是数据的异常。

  但是哪些数据有异常,由不得而知,于是增加了程序的输出日志和数据打印,通过几次的运行定位了发生错误的函数和数据记录。

  异常是这样的:

   代码如下:

  EOL while scanning string literal: , line 1, pos 7

  google一下,这个异常造成的原因是字符串,引号没有成对出现,也就是类似下面的情况

  代码如下:

  str('1)

  Traceback (most recent call last):

  File "", line 1, in

  EOL while scanning string literal: , line 1, pos 7

  想一想程序中是没有这样的问题,那问题就来自数据库中的记录了,经过排查发现数据库中有个字段最大长度是65k,而存入的数据大于65k,整个字符串就被截断了。

  整个字符串不是一般的字符串,而是一个字典的字符形式,类似 str(dictA)

  dicA某个key或者是value正好被截断 例如从{“name”:“orangleiu”} 截断为 {"name":"orang

  所以在取出来的转换成str类型的时候就报错了。

  加上异常处理和字段增长长度解决了问题。

(责任编辑:豆豆)
下一篇:

python中尾递归用法实例详解

上一篇:

python获取本地计算机名字的方法

  • 信息二维码

    手机看新闻

  • 分享到
打赏
免责声明
• 
本文仅代表作者个人观点,本站未对其内容进行核实,请读者仅做参考,如若文中涉及有违公德、触犯法律的内容,一经发现,立即删除,作者需自行承担相应责任。涉及到版权或其他问题,请及时联系我们 xfptx@outlook.com