码迷,mamicode.com
首页 > 其他好文 > 详细

SyntaxError: EOL while scanning string literal

时间:2018-03-30 12:20:03      阅读:201      评论:0      收藏:0      [点我收藏+]

标签:ann   format   blog   server   eol   就是   代码   mat   mod   

在Python 中,这个提示,一般是因为特殊字符引起的,比如换行符,比如 \ 等。

下面有几个示例:

  1. 换行符

# 源错误代码
get_tabs="select b.owner,b.table_name,
regexp_substr(b.table_name, 20[[:digit:]]+, 1,1,i) 
from tab_model a,all_tab_models b 
where a.owner = b.owner and a.tab_model=b.tab_mod and regexp_like(b.table_name,20[[:digit:]]+$) and length(regexp_substr(b.table_name, 20[[:digit:]]+,1,1,i))=:nums and regexp_substr(b.table_name, 20[[:digit:]]+, 1,1,i)<to_char(TRUNC(SYSDATE,YYYY)-RESERV_NUMS+1,:format)"

# 正确代码
get_tabs="select b.owner,b.table_name,regexp_substr(b.table_name, ‘20[[:digit:]]+‘, 1,1,‘i‘) from dbmon.tab_model a,dbmon.all_tab_models b where a.owner = b.owner and a.tab_model=b.tab_mod and regexp_like(b.table_name,‘20[[:digit:]]+$‘) and length(regexp_substr(b.table_name, ‘20[[:digit:]]+‘,1,1,‘i‘))=:nums and regexp_substr(b.table_name, ‘20[[:digit:]]+‘, 1,1,‘i‘)<to_char(TRUNC(SYSDATE,‘YYYY‘)-RESERV_NUMS+1,:format)"

  两者区别就在于,将本来通过回车实现的换行,全部删除,也就是原则 上双引号内的内容要在一行内(当然视觉上可能不在同一行)。

2. \ 

 双引号内的 \ ,要经过转义符转义。 

#错误代码

saved_pic = r"E:\WebServer\WordPress\to_wp\hi-baidu-mover_v2\pic\" + picName + ‘.jpg‘ 


# 正确代码
saved_pic = "E:\\WebServer\\WordPress\\to_wp\\hi-baidu-mover_v2\\pic\\"     saved_pic += picName + .jpg

saved_pic = r"E:\WebServer\WordPress\to_wp\hi-baidu-mover_v2\pic"     saved_pic += \\ + picName + .jpg

 

SyntaxError: EOL while scanning string literal

标签:ann   format   blog   server   eol   就是   代码   mat   mod   

原文地址:https://www.cnblogs.com/halberd-lee/p/8675088.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!