SyntaxError: EOL while scanning string literal

在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'

 

转载于:https://www.cnblogs.com/halberd-lee/p/8675088.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值