SyntaxError: EOL while scanning string literal的解决

python中字符串的最后一个字符是斜杠会致使出错:SyntaxError: EOL while scanning string literal

【背景】html

Python 2.7.2 中想要经过urllib下载百度空间中的图片,存到本地。python

参考这里:post

http://www.cnblogs.com/huangcong/archive/2011/09/03/2165565.html测试

如此实现:url

 

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

urllib.urlretrieve(picUrl, saved_pic)spa

   可是去运行,结果出现语法错误:

 

 

   File "E:\WebServer\WordPress\to_wp\hi-baidu-mover_v2\hi-baidu-mover_v2011-12-17.py", line 251
    saved_pic = r"E:\WebServer\WordPress\to_wp\hi-baidu-mover_v2\pic\" + picName + '.jpg'
                                                                                        ^
SyntaxError: EOL while scanning string literal

 

【解决过程】.net

通过确认,确保本身的上述写法,是符合语法的,没有错误。可是结果却仍是出错。code

网上找了下,发现这位:htm

http://www.iteye.com/problems/64471blog

遇到了一样的问题。结果也是无法解决,或者只能用别的写法,来避免这个问题。

初步判断,应该是python的bug。

可是,事情老是要作的,仍是要想办法实现功能才能够。

而后本身通过测试,有其余几种写法,是能够的,有些写法,仍是会致使语法错误的。

结果以下:

 
  

    # method 1: compile OK     saved_pic = "E:\\WebServer\\WordPress\\to_wp\\hi-baidu-mover_v2\\pic\\"     saved_pic += picName + '.jpg'

    # method 2: compile OK     #saved_pic = r"E:\WebServer\WordPress\to_wp\hi-baidu-mover_v2\pic"     #saved_pic += '\\' + picName + '.jpg'

    # method 3: fail -> SyntaxError: EOL while scanning string literal     #saved_pic = r"E:\WebServer\WordPress\to_wp\hi-baidu-mover_v2\pic\" + picName + '.jpg'

    # method 4: fail -> SyntaxError: EOL while scanning string literal     #saved_pic = r"E:\WebServer\WordPress\to_wp\hi-baidu-mover_v2\pic\"     #saved_pic += picName + '.jpg'

【总结】
python中,若是你的字符串最后一位是斜杠(slash)字符,那么即便字符串前面加了r表示regular的普通字符串,也是没法经过编译的,也是会致使SyntaxError的。
解决办法就是,避开这种写法,写成这样的:
 
  
 
  

    # method 1: compile OK     saved_pic = "E:\\WebServer\\WordPress\\to_wp\\hi-baidu-mover_v2\\pic\\"     saved_pic += picName + '.jpg'

或者是这样:
 
  
 
  

    # method 2: compile OK     saved_pic = r"E:\WebServer\WordPress\to_wp\hi-baidu-mover_v2\pic"     saved_pic += '\\' + picName + '.jpg'

 
  

便可。

相关文章
相关标签/搜索