【已解决】python中字符串的最后一个字符是斜杠会导致出错:SyntaxError: EOL while scanning string literal
2013-03-27 08:45
706 查看
---------------------------------搬家声明--------------------------------------
本博客已搬家至个人网站 在路上
- On the way 下面的 技术 分类。
你可以通过点击 更新帖子 【已解决】python中字符串的最后一个字符是斜杠会导致出错:SyntaxError:
EOL while scanning string literal 找到当前帖子的新地址。
----------------------------------搬家声明--------------------------------------
【已解决】python中字符串的最后一个字符是斜杠会导致出错:SyntaxError: EOL while scanning string literal
【背景】
python 2.7.2 中想要通过urllib下载百度空间中的图片,存到本地。
参考这里:
http://www.cnblogs.com/huangcong/archive/2011/09/03/2165565.html
如此实现:
但是去运行,结果出现语法错误:
【解决过程】
经过确认,确保自己的上述写法,是符合语法的,没有错误。但是结果却还是出错。
网上找了下,发现这位:
http://www.iteye.com/problems/64471
遇到了同样的问题。结果也是没法解决,或者只能用别的写法,来避免这个问题。
初步判断,应该是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'
# 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'
即可。
转自:http://againinput4.blog.163.com/blog/static/1727994912011111761152681/?suggestedreading&wumii
本博客已搬家至个人网站 在路上
- On the way 下面的 技术 分类。
你可以通过点击 更新帖子 【已解决】python中字符串的最后一个字符是斜杠会导致出错:SyntaxError:
EOL while scanning string literal 找到当前帖子的新地址。
----------------------------------搬家声明--------------------------------------
【已解决】python中字符串的最后一个字符是斜杠会导致出错:SyntaxError: EOL while scanning string literal
【背景】
python 2.7.2 中想要通过urllib下载百度空间中的图片,存到本地。
参考这里:
http://www.cnblogs.com/huangcong/archive/2011/09/03/2165565.html
如此实现:
saved_pic = r"E:\WebServer\WordPress\to_wp\hi-baidu-mover_v2\pic\" + picName + '.jpg' urllib.urlretrieve(picUrl, saved_pic) |
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 |
经过确认,确保自己的上述写法,是符合语法的,没有错误。但是结果却还是出错。
网上找了下,发现这位:
http://www.iteye.com/problems/64471
遇到了同样的问题。结果也是没法解决,或者只能用别的写法,来避免这个问题。
初步判断,应该是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'
即可。
转自:http://againinput4.blog.163.com/blog/static/1727994912011111761152681/?suggestedreading&wumii
相关文章推荐
- python正则式匹配遇到错误“EOL while scanning string literal”解决方法
- SyntaxError: EOL while scanning string literal的解决
- 转载:python中字符串的最后一个字符是斜杠会导致出错
- Python EOL while scanning string literal问题解决方法
- python "SyntaxError: EOL while scanning string literal"错误
- SyntaxError: EOL while scanning string literal问题及解决方法
- python SyntaxError: EOL while scanning string literal
- [Error]EOL while scanning string literal
- [Error]EOL while scanning string literal
- [解决办法]Python中使用json.loads解码字符串时出错:ValueError: Expecting property name: line 1 column 2 (char 1)
- 【C#】解决进行反序列化时出错:。InnerException 消息是“反序列化对象 属于类型 System.String 时出现错误。读取 XML 数据时,超出最大字符串内容长度配额 (8192)。
- Python中用eval将字符串转换为字典时候出错:NameError: name ‘null’ is not defined的解决方法
- String空格删除和java删除字符串最后一个字符的几种方法
- Python下json.loads()中文字符出错解决
- Javascript: unterminated string literal 解决方法 ---- json 包含换行及其他一些特殊字符
- Python3.x中,使用print时出错(SyntaxError: Missing parentheses in call to 'print')解决办法
- [解决办法]Python中使用json.loads解码字符串时出错:ValueError: Expecting property name: line 1 column 2 (char 1)
- [解决办法]Python中使用json.loads解码字符串时出错:ValueError: Expecting property name: line 1 column 2 (char 1)
- python字符串和变量相加时出现,coercing to unicode need string or buffer nonetype found python 错误的解决
- python字符串和变量相加时出现,coercing to unicode need string or buffer ?? found 错误的解决