原文链接: http://www.juzicode.com/python-error-syntaxerror-eol-while-scanning-string-literal/
错误提示:
用r或者f做前导字符,定义字符串时提示SyntaxError: EOL while scanning string literal
#微信公众号:桔子code / juzicode.com
s1 = 'D:\\juzicode\\com\\'
print('s1=',s1)
s2 = r'D:\juzicode\com\'
print('s2=',s2)
==========运行结果:
File "<ipython-input-24-375f613581e9>", line 4 s2 = r'D:\juzicode\com\' ^ SyntaxError: EOL while scanning string literal
错误原因:
1、使用r做字符串前导时,最后不可以使用\,否则会被解释器认为是续航符,从第5行的字体颜色也可以验证这点。
解决方法:
1、去掉该行最后的\字符。在需要拼接路径的地方再补录\字符:
#微信公众号:桔子code / juzicode.com
s1 = 'D:\\juzicode\\com\\'
print('s1=',s1)
s2 = r'D:\juzicode\com'
print('s2=',s2)
filename = s2 + r'\lena.jpg' #在需要的地方补齐\
print('filename=',filename)
==========运行结果:
s1= D:\juzicode\com\
s2= D:\juzicode\com
filename= D:\juzicode\com\lena.jpg
扩展内容:
如果本文还没有完全解决你的疑惑,你也可以在微信公众号“桔子code”后台给我留言,欢迎一起探讨交流。