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

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

我的代码如下

import os
dirname = "test" path = r'C:\Users\panda\Desktop\新建文件夹\' + dirname

运行则报错

  File "test.py", line 3
path = r'C:\Users\panda\Desktop\新建文件夹\' + dirname
^
SyntaxError: EOL while scanning string literal

那么如何解决呢

方法一 : 使用 os.path.join

path = os.path.join(r'C:\Users\panda\Desktop\新建文件夹', dirname)

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

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

方法三:格式化字符串

dirname="test"
path = r'C:\Users\panda\Desktop\新建文件夹\%s' % (dirname) # 第一种格式化方法
#从 python 2.6 开始
path = r'C:\Users\panda\Desktop\新建文件夹\{}'.format(dirname) # 第二种格式化方法

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

从python 3.6 开始 支持string interpolation

# python 3.6 开始 支持string interpolation
dirname = "test"
path3 = rf'C:\Users\panda\Desktop\新建文件夹\{dirname}'

参考: https://docs.python.org/3/whatsnew/3.6.html#whatsnew36-pep498

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

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

下面用 REPL演示

参考资料:

SyntaxError: EOL while scanning string literal的解决 - CSDN博客

python: SyntaxError: EOL while scanning string literal - Stack Overflow

python SyntaxError: EOL while scanning string literal的更多相关文章

  1. SyntaxError: EOL while scanning string literal的解决

    2281 python中字符串的最后一个字符是斜杠会导致出错:SyntaxError: EOL while scanning string literal [背景] Python 2.7.2 中想要通 ...

  2. python ( EOL while scanning string literal)

    python错误: EOL while scanning string literal: 这个异常造成的原因是字符串,引号没有成对出现 参考:http://www.jb51.net/article/6 ...

  3. SyntaxError: EOL while scanning string literal

    在Python 中,这个提示,一般是因为特殊字符引起的,比如换行符,比如 \ 等. 下面有几个示例: 1. 换行符 # 源错误代码 get_tabs="select b.owner,b.ta ...

  4. python接口自动化,从excel取param的内容太多,使用eval转换报错'EOL while scanning string literal

    背景: 做接口自动化时,有个接口的参数内容很多,可以从excel中读取出来,但是在eval()进行转化时,就报错"'EOL while scanning string literal&quo ...

  5. [Error]EOL while scanning string literal

    有一个经常性的工作项目.需要一天的一些表数据到外部接口,但最近总是异常.今天检查的原因. 第一本地和测试环境中测试程序是没有问题,有网络环境只会在日志中抛出一个异常.产生主要的例外是推定异常数据. , ...

  6. 转 [Error]EOL while scanning string literal

    https://blog.csdn.net/orangleliu/article/details/38943749 项目中有个定时任务,每天取到一些表数据传到一个外部接口,但是最近总是有异常,今天查了 ...

  7. 后台传给前端字符串为null或解析JSON字符错误——SyntaxError: JSON.parse: unterminated string literal at line 1 column 9018638 of the JSON data

    第一种情况: 第二种情况: 首先看看你的JSONObject或JSONArray的引用有没有Getter()和Setter()方法,这个必须要加上 问题:两张表双向多对一.一对多时.响应给后台使,出现 ...

  8. 使用MySql数据库, 浏览器接收返回数据报错SyntaxError: unterminated string literal

    用php写了一个很简单的页面, 用来记录常用的oracle的关键字和各种函数, 以后用起来查一下方便, 原来是用java写了一个web项目, 但是用起来太麻烦, 真的不如php方便, 然后就把整理的内 ...

  9. SyntaxError: JSON.parse: bad control character in string literal at line 1 column 16 of the JSON data

    JSON.parse转化Json字符串时出现:SyntaxError: JSON.parse: bad control character in string literal at line 1 co ...

随机推荐

  1. 《Paxos Made Simple》翻译(转)

    1 Introduction 可能是因为之前的描述对大多数读者来说太过Greek了,Paxos作为一种实现容错的分布式系统的算法被认为是难以理解的.但事实上,它可能是最简单,最显而易见的分布式算法了. ...

  2. PaymentServlet代码

    package ${enclosing_package}; import java.io.IOException; import java.util.ResourceBundle; import ja ...

  3. linux install oracle jdk

    1 到oracle 官方网站下载jdk1.7 2 然后mv到 /usr/local/目录下 2.1 path 下添加/usr/sbin/ 3 使用update-alternative用来对系统中不同版 ...

  4. Android ListView分组显示

    ListView的实现方法也是普通的实现方法.只不过在list列表中加入groupkey信息.在渲染的时候要判断是否是分组的标题. 就是在使用不同的两个View的时候存在这种情况,convertVie ...

  5. Array【数组】和Object【对象】的特性比较

    数组是JavaScript提供的一个内部对象,它是一个标准的集合,我们可以添加(push).删除(shift)里面元素,我们还可以通过for循环遍历里面的元素. 那么除了数组我们在JavaScript ...

  6. Python基础(6) - 基本语句

    Python print(在Python 3.0中就变成了函数了) print语句是把对象用文本化的形式输出到标准的输出流上. Operation  Interpretation print spam ...

  7. 【c++】流状态的查询和控制

    源自 c++primer 4th, 248页 代码 #include <iostream> #include <limits> #include <stdexcept&g ...

  8. npm 配置

    设置代理 $ npm config set proxy http://server:port $ npm config set https-proxy https://server:port 如果代理 ...

  9. 深入理解JavaScript系列(50):Function模式(下篇)

    介绍 本篇我们介绍的一些模式称为初始化模式和性能模式,主要是用在初始化以及提高性能方面,一些模式之前已经提到过,这里只是做一下总结. 立即执行的函数 在本系列第4篇的<立即调用的函数表达式> ...

  10. Expression Blend实例中文教程(3) - 布局控件快速入门Grid

    上一篇对Blend 3开发界面进行了快速入门介绍,本篇将基于Blend 3介绍Silverlight控件.对于微软开发工具熟悉的朋友,相信您很快就熟悉Blend的开发界面和控件. XAML概述 Sil ...