我是靠谱客的博主 含蓄冬瓜,最近开发中收集的这篇文章主要介绍eol python_python SyntaxError: EOL while scanning string literal,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

错误原因是,字符串以  结尾 或者字符串缺少引号。

写代码拼接windows 路径出现这个错误, 查资料才知道 python中字符串不能以 结尾

我的代码如下

importos

dirname= "test"path = r'C:UserspandaDesktop新建文件夹' + dirname

运行则报错

File "test.py", line 3path= r'C:UserspandaDesktop新建文件夹' + dirname

^SyntaxError: EOLwhile scanning string literal

那么如何解决呢

方法一 : 使用 os.path.join

path = os.path.join(r'C:UserspandaDesktop新建文件夹', dirname)

方法二:路径的反斜杠使用转义 而不用 r

path = 'C:\Users\panda\Desktop\新建文件夹\' + dirname

方法三:格式化字符串

dirname="test"path= r'C:UserspandaDesktop新建文件夹%s' % (dirname) #第一种格式化方法#从 python 2.6 开始

path = r'C:UserspandaDesktop新建文件夹{}'.format(dirname) #第二种格式化方法

方法四: string interpolation (字符串内插)

从python 3.6 开始 支持string interpolation

#python 3.6 开始 支持string interpolation

dirname = "test"path3= rf'C:UserspandaDesktop新建文件夹{dirname}'

为何 字符串不能 以 (反斜杠) 结束呢

因为 反斜杠有别的用处。 python中一个完整的字符串太长的时候,一行写不下想换行,但又要维持它是一个字符串的时候 可以用 反斜杠来换行,所以反斜杠后面不能立即接上字符串结束的引号。

下面用 REPL演示

参考资料:

最后

以上就是含蓄冬瓜为你收集整理的eol python_python SyntaxError: EOL while scanning string literal的全部内容,希望文章能够帮你解决eol python_python SyntaxError: EOL while scanning string literal所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(40)

评论列表共有 0 条评论

立即
投稿
返回
顶部